[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
   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!

Posted on the users mailing list.