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

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Jun 3 22:30:59 EDT 2012

Be nice if it had 6 letters, tho. :)


On Sun, Jun 3, 2012 at 9:29 PM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> Perhaps the real (and simple) solution is to provide def+
> a form that explicitly rules out recursion. -- Matthias
> On Jun 3, 2012, at 10:06 PM, Eli Barzilay wrote:
>> 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
>> `let'?
>> --
>>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>>                    http://barzilay.org/                   Maze is Life!
>> ____________________
>>  Racket Users list:
>>  http://lists.racket-lang.org/users

Posted on the users mailing list.