40 minutes ago, Matthew Flatt wrote: > I agree about changing `when', `unless', and `cond'. > > I can't see changing `begin', especially now that > internal-definition contexts allow a mixture of definitions and > expressions. Unlike changing `when' and `unless', changing `begin' > could change some existing programs, such as > > (let () > (begin > (define x 1) > x) > x) > > where that `begin' is a splicing `begin', since it's in an > internal-definition context.
Yes, it's the (imaginary) implicit begin that would change, so the above wouldn't change. > In some future language, we should get rid of the overloading of > `begin' for splicing and sequencing, but it would be painful to change > right now. (+1) > At Mon, 11 Oct 2010 19:15:09 -0400, Eli Barzilay wrote: > > I'd love to see an implicit `#%begin', which could have the above > > apply in more places automatically. (It was one of the feature > > requests I asked for in the summer meeting.) > > Recall that no one solved the technical problem with where to pull > the lexical context for the implicit `#%begin' or `#%body': > > http://lists.racket-lang.org/dev/archive/2010-July/003624.html I remember being confused with how that problem would look like, but I don't think that I've seen an example where this would be problematic. (I think that we talked about it, but I can't remember any concrete details...) In any case, I did remember that it was problematic... -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev