From: Christian Neukirchen Date: 2005-03-20T03:51:06+09:00 Subject: Re: Paul Graham recommends Ruby Navindra Umanee writes: > Laurent Sansonetti wrote: >> http://www.artima.com/weblogs/viewpost.jsp?thread=98196 >> >> But who cares? :-) > > Ruby was a language that was designed and inspired from other > languages... It's interesting to know what others think and how other > languages are evolving. > > Ruby blocks are just syntactic sugar for a special-case lambda. Ruby Care to elaborate? What's lacking? > doesn't support generic lambda half as cleanly, as say, Scheme. What You cannot do lambda{|x|x*2}(2), yes. > seems to be happening in the case of Python is that syntactic sugar is > being added to do what people used to do with lambda and so support > for the later is being removed. Python's lambda was broken anyway (only one expression allowed) and the "closures" didn't seem to deserve that name from what I recall. Still, in some cases it can't be easily removed (e.g. GUI callbacks) without losing functionality. But IANAP. > Guido makes some good points... For example, I don't know about you, > but I always have trouble with non-trivial reduces as well. If they are written in a half-way sane style, I usually don't. And often, the fold is easier to read than the expanded version. I don't care what methods Guido drops and whatnot. After all, you still can write your own map, filter and reduce. But when you drop lambdas and any way to closure (from what I have read, inner functions can't access outer variables), it's more than a dumb move IMO. I, for one, welcome our new indented Java. (Yes, Java has inner classes.) > Cheers, > Navin. -- Christian Neukirchen http://chneukirchen.org