[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SRFI 31 procedure vs. named-lambda (2)



Al Petrofsky writes:
 > I agree with you that most of the arguments against named-lambda are
 > obsolete.  
 > ...

Thanks for your support.

 > ... 
 > I dislike the name PROCEDURE because it doesn't mix well with the name
 > of the PROCEDURE? procedure.  Both LAMBDA and PROCEDURE produce
 > procedures.  The difference has nothing to with the procedure data
 > type.  
 
 Yes. But doesn't the fact that `procedure' does produce precisely the
 same procedures as does `lambda' support the point of view that one
 should use the same predicate, `procedure?', for checking?  I didn't
 imagine that `procedure' should produce a new data type.
 
 Following your line of thought, wouldn't we obtain a new instance of
 the `cons' vs. `pair?' mismatch?

 > The difference is that one form provides a name that can be
 > used recursively by the thing which is being named.  Hence the name of
 > the special form should derive from the words "name" or "recursion",
 > which is why I find both NAMED-LAMBDA and REC superior to PROCEDURE.

 Actually I was using the term `recursion' in my code, but renamed it
 `procedure' in the SRFI for two reasons:

 - I found that this name matched well with the existing `procedure?'
   predicate.

 - The `procedure' form allows to express any procedure that can be
   written in Scheme, so I thought the name was more than appropriate.

 > After some thought and a look at the rrrs archives, the idea that
 > appeals most to me is to revive the well-established and generally
 > useful rec form, and enhance it just like define so that
 > ...

Agreeing on functionality, it remains to find the right balance
between respecting the history of Scheme (`rec') and providing (what
seems to me) a more systematic name (`procedure').

What do you think? 

Regards, Mirko.