[racket] multiple-value sugar in "let"* forms
50 minutes ago, Matthias Felleisen wrote:
>
> Perhaps the real (and simple) solution is to provide def+
> a form that explicitly rules out recursion. -- Matthias
The way I see it, there are several problems with internal `define's
as they currently stand, in decreasing order of importance:
1. Easy to make hard-to-find bugs in both code refactoring and in new
code.
2. Lack of ability to mimic the `let*'-with-repeated-name idiom.
3. Reduces the "verbosity" when measured in nestings, but tends to add
more text overall; in addition, the indentation of the named
expression is usually the same because `define' is so long; and in
addition, it's common to type many definitions, and as much as I
use a sophisticated editor I end up typing it verbatim a lot.
Where the gaps are substantial (that is, #1 is much more important IMO
than #2, which is much more important than #3).
Such a `def+' (which is subtly different from the previously mentioned
`define*') is something that I'm not sure that the definition-context-
police will let through, but having #2 seems still important enough
that I worry that it won't become popular and therefore the #1 point
is still pending.
40 minutes ago, Robby Findler wrote:
> Be nice if it had 6 letters, tho. :)
Why is that nice?
(Sidenote: both this and the question I asked Neil are not intended to
start some style flamewar, I'm trying to see what other things people
like in this context, to see if there's something that can work.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!