In article <138135881306.20040805010035 / soyabean.com.au>, Gavin
Sinclair <gsinclair / soyabean.com.au> wrote:

> On Wednesday, August 4, 2004, 10:41:43 PM, Jesse wrote:
> 
> > Between Ruby and Lisp? To tell the truth I'm not entirely sure. The
> > pickaxe book does a lousy job explaining the differences between blocks
> > and proc objects. I'm still not sure why Ruby needs two concepts when
> > Lisp and other languages get by with one. I also don't know why Ruby
> > uses that weird yield syntax.
> 
> On the one hand you advocate macros to make syntax more expressive; on
> the other you advocate rolling everything back into anonymous
> functions with no visual distinctions.  *shrug*

Well, what are the differences between blocks and proc objects? As far
as I can tell the only difference is that proc objects are explicitly
declared in method argument lists and are first class objects. Blocks,
on the other hand, are not listed in the method list (unless you use
&block to create a proc) and called using yield.

How does that make the language more expressive? Implicitly passing
arguments seems actively bad and using "yield lhs rhs" seems worse than
using "compare.call lhs rhs".

  -- Jesse