[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Comments on the Preliminary Report
Lambda:
I don't wonder that "named-lambda" is seldom used explicitly in
code. The syntax is too clumsy. What I'm looking for is a way
to add a name to any lambda expression, without changing the
expression fundamentally (like giving it a new name). I think
people should be encouraged to name their functions in this
manner since it produces more robust, efficient, and readable
code.
Named lambda isn't likely to be used much in mit-scheme anyway
because of the "(define (foo ...) ...)" syntax. For those of
us who wish to see our lambdas explicit, named lambda is quite
convenient.
List-length:
If we don't have a generic length function, we should call the
function that returns the length of a list "list-length". This
would be consistent with the names of other length functions and
leave the name length open for future genericization.
Case sensitivity:
I agree that having two different functions Length and length would
be confusing. Why not make lexical identifier resolution case
insensitive but have a way to tell apart two symbols that differ only
in case?
(let ((x 3)) X) => 3
(eq 'x 'X) => #!false
(eqv 'x 'X) => #!true
(string->list (symbol->string 'X)) => (#\X)
(string->List (symbol->string 'x)) => (#\x)