Re: An Acceptable Lisp



On 31 Aug, 05:11, David Golden <david.gol...@xxxxxxxxxxxxx> wrote:
Mark Tarver wrote:
Actually Qi is prefix - just like Lisp.

I'm not convinced.  You've got quite infixy pattern match and type
declaration syntax IIRC, and it's pretty ubiquitous.

Okay, it's always localised within toplevel-prefix forms like
(datatype ...) and (define ...), and there's plenty of precedent in
lisp for such localised-infixy things, but qi code seems to have more
infix than I at least am totally comfortable with.  type declarations
are particularly unlispy looking.

Sure, they might macro-map to end-user-usable lispier syntax underneath
(I haven't really looked), but if so, you still encourage the infixy
stuff as "idiomatic" qi.

e.g. (from memory, might not be quite valid or meaningful qi)

(define blah
        foo -> bar )

not

(define blah
   (-> foo bar))

X : A ;
=======
X : B ;

not

(<=> ((/- X A))
     ((/- X B)))

etc.

Its entirely up to you

(define foo
[X | Y] -> Y)

(define foo
(cons X Y) -> Y)

are both legal.

Mark
.