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

Re: problems with named-let



> From: Hal Abelson <hal@murren.ai.mit.edu>
> Subject: problems with named-let

> Your mail mentioned "other problems with named let" besides the
> overloading of LET.  I thought that this was the major objection.  What
> are some others? I'm curious about this, since I'm guessing that it
> has to do with how you introduce it to students and I'd like to know.

It has to do with the more serious issue of abstraction that I talked
about in an earlier note, all or most of which applies equally well to
"named-let" as to "let" because "named-let" is called "named let".

> How do you feel about calling this TAG or LABEL?  I don't like RECUR
> since it sounds too much like "recursion".  Pedagogically, I feel
> nervous about naming this construct something that implies that it is
> evolves a particular "shape" of process, such as recursion or
> iteration.  I do like LABEL or TAG or NAMED-LET because it draws
> attention the fact that something is being named, which for students
> is a nice point.

I believe that anything we can do to emphasize that iteration is a
special case of recursion is ultimately to the benefit of the student.
This is one of the main reasons I like "recur".  I can see why you
think it is beneficial to draw attention to the fact that something is
being named, but I think it is far more important that the name
describe what the entire form (usually) does.  It is clear that the
entire form usually performs some sort of recursion, so "label", "tag",
and "named-let" are all inappropriate.

Kent