[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lispy vs Pseudo-English Syntax



Well, if the overwhelming majority of people who have used LOOP or
I.S.OPRS for a year or two think that it's a truly winning syntax, I'd
have to take that as evidence that I'm wrong about all this.  That is
especially true if people like the iteration syntax in CLISP, but don't
like the rest of CLISP; anyone who likes ALL of CLISP should be
programming in Algol rather than Lisp and doesn't belong in this
sample.

As for the IF/ELSEIF business, that can be handled easily by a macro for
those who like this sort of thing, and I don't think that having
aternative forms in the standard language is very useful.  I once saw,
in some code by Joe Ginder, a very simple extension for IF that gives
you some of the same effect: just define (THEN forms) and (ELSE forms)
as macros that turn into (PROGN forms).  So you end up with something
that looks like the following:

(if (foop)
    (then (clause1)
          (clause2)
          (clause3))
    (else (mumble1)
          (mumble2)))

I almost proposed this for incorporation into standard Common Lisp, but
that was back when we thought the language was going to be small and
elegant, so I didn't bring it up.

-- Scott