[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: loop macro
Date: 04 Feb 86 20:52:41 EST (Tue)
From: Liz Allen <liz@brillig.umd.edu>
The mention of connecting words kind of puzzles me (and at the same
time helps me to understand the Lisp Machine loop macro). Our for
macro doesn't seem to need them (though it does use "by" and "until").
To explain how this works, let me give for's basic syntax:
(for [ let <let-var>* ]* ; <let-var> is <var> or (<var> <init>)
[ initially <form>* ]*
[ <iteration-spec>* ]* ; in, on, from, bind, being, etc
[ eachtime <form>* ]*
[ <termination-spec>* ]* ; while <form>* or until <form>*
[ <conditiion-spec>* ]* ; when <form>* or unless <form>*
[ <body-key> <form>* ] ; <body-key> is do, collect, etc
[ finally <form>* ] )
I'm not trying to say that Common Lisp should necessarily adopt
the Maryland for as its looping construct. I just trying to say
that there ought to be some way to get rid of the concept of
connecting words without having to put parens around all the
clauses... Can the syntax for the Lisp Machine Loop be simplified
along these lines without losing big?
What are "let", "initially", "eachtime", "in", "on", "from", "bind", "being",
"finally", in your macro, if not connecting words, or am I totally confused?