[cl-faq] faq answer: Why are there both LET and LET*?

Larry Clapp larry at theclapp.org
Thu Jun 22 10:37:04 CDT 2006


On 2006-06-22, Luís Oliveira wrote:
> Larry Clapp <larry at theclapp.org> writes:
>> *** Why are there both LET and LET*?
>
> Here are a few thoughts about this FAQ. Mostly little details.

See my 2nd draft for the revisions.

>> In fact, the * in LET* is sort of like the * in regular
>> expressions: LET* means "multiple LETs".  See
>> http://en.wikipedia.org/wiki/Regular_expression and
>> http://en.wikipedia.org/wiki/Kleene_star.
>
> Got any references on this? Is this really the origin of the name? I
> thought the FOO* convention meant that it's a variation of FOO.
> (Hmm, that'd would be a good FAQ, maybe.)

I don't know if it's the origin of the name or not.  I've no
documentation either way.  It seemed possible, thinking only about
LET/LET*, but maybe not so much with DO/DO*, PROG/PROG*, or especially
LIST/LIST*.  I took that part out of my 2nd draft.

> I second Pascal's suggestion about explaining LET* in terms of LET.
> Very lispy. Another lispy detail about his example is that it
> returns the values instead of printing them (let the pretty printer
> do that).

I'm curious about both of your responses, as I did, in fact, have LET*
in terms of LET in my 1st draft.  I guess it was too hidden.  Anyway,
I fixed that, too.

Thank you both for your comments!

-- Larry




More information about the cl-faq mailing list