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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Jun 3 22:29:52 EDT 2012

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.