[racket] multiple-value sugar in "let"* forms

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Jun 3 23:25:56 EDT 2012

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

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!

Posted on the users mailing list.