Navindra Umanee <navindra / cs.mcgill.ca> writes:

> Laurent Sansonetti <laurent.sansonetti / gmail.com> 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.

<troll>I, for one, welcome our new indented Java.</troll>
(Yes, Java has inner classes.)

> Cheers,
> Navin.
-- 
Christian Neukirchen  <chneukirchen / gmail.com>  http://chneukirchen.org