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

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

This page is part of the web mail archives of SRFI 31 from before July 7th, 2015. The new archives for SRFI 31 contain all messages, not just those from before July 7th, 2015.

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?'

 - 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.