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

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Jun 3 22:06:01 EDT 2012

20 minutes ago, Robby Findler wrote:
> Years and years ago, we experimented with a let+ form that did
> things like this, but nowadays define works in so many contexts that
> it seems like the natural thing to use in situations like this. Of
> course, I'm sure there are situations where define is suboptimal
> (eg, see Eli's thread with the up and down arrows) but I'm finding
> that I quite like using it everywhere.

The thing is that `let*' is still very useful exactly because of the
problems of `define' forms...  (So I generally +1 the sentiment of
making it easier to deal with multiple values, but I'd much rather see
a better solution as I was thinking about in the other thread.)

Just now, Neil Van Dyke wrote:
> Yes, I should have prefaced that I'm speaking out for the people who
> refuse to submit to the injustices of internal "define".

Other than the potential problems of `define' in creating a recursive
definition by mistake (and gettting an #<undefined> value at runtime),
do you have any other *concrete* objection to using `define' over

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.