[plt-scheme] Re: a few questions
And, to follow up with a favorite resource of mine:
http://www.scheme.com/tspl3/
I will often search within the index (CTRL-F), and then be hyperlinked
directly to one or more explanations. For example, see
http://www.scheme.com/tspl3/further.html#./further:s41
for an explanation of "named let." Be wary, however: TSPL will
(probably) not lead you astray in MzScheme, although you may wish to
treat the Help Desk as your first and primary resource re: Scheme (when
using PLT Scheme) to be on the safe side. Besides, the Help Desk is just
so searchalicious!
M
PS. I would like to apologize for the egregious invention of a word and
the use of an exclamation point in the previous paragraph. I don't know
what came over me.
Carl Eastlund wrote:
>>(let whatever ((..)...)
>>
>>whatever is used in the body of the expression as if though it were
>>itself a lambda expression, but how this works (and what the correct
>>syntax is) seems rather mysterious.
>
>
> "Named" let is really a misnomer, it's a form that does several things
> at once and "let" is the least of them. What named-let does is
> declare a local recursive function and call it at once. The code:
>
> (let LOOP ([VAR VALUE] ...) BODY)
>
> is equivalent to:
>
> (letrec ([LOOP (lambda (VAR ...) BODY)]) (LOOP VALUE ...))