Alan Watson wrote:
>>  I bet similarly you cannot find any
>> occurrences of (+) or (+ n).
> 
> I don't think (+) has much relevance to a discussion of (<), because 
> addition is a common reduction operation, and one wants (+ (reduce + 
> list0) (reduce + list1)) to be the same as (reduce + (append list0 
> list1)) regardless of whether list0 or list1 are null lists.

My point is not so much that (<) is useful or not useful, but rather 
that the number of source code occurrences of (<) is a poor metric for 
its usefulness.

I think we all agree + being defined on 0 or more arguments is useful, 
yet where will find a syntactic occurrence of (+) or (+ n)?  We won't, 
and why would we?  You would write 0 or n instead.  The point is that + 
may still be applied to zero arguments as in:

(define (sum ls) (apply + ls))
(sum '())

Grep will not help you find the dynamic occurrence of (+) here.

David

PS I do think there is a case to be made for the usefulness of (<) by 
appealing to similar patterns, like:

(define (sorted? ls) (apply <= ls))

Which will break as <= is currently defined.  [That any empty or 
singleton list is sorted, is in my view widely accepted and 
uncontroversial.  I'm surprised to even hear this questioned.]

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to