Re: New release of SRFI 114 with implementation John Cowan 08 Dec 2013 17:01 UTC
Kevin Wortman scripsit: > Returning the first tied argument seems like it would be a little more > straightforward to implement, at least to me. But I'm comfortable with > the current behavior. I don't think it matters much as long as the > behavior is documented. Here's the current sample implementation (note that it depends on `apply` calling its argument tail-recursively): (define comparator-min (case-lambda ((comparator a) a) ((comparator a b) (if (<? comparator a b) a b)) ((comparator a b . objs) (comparator-min comparator a (apply comparator-min comparator b objs))))) (define comparator-max (case-lambda ((comparator a) a) ((comparator a b) (if (>? comparator a b) a b)) ((comparator a b . objs) (comparator-max comparator a (apply comparator-max comparator b objs))))) Exactly what you get depends on which predicate you use, of course. -- John Cowan http://ccil.org/~cowan xxxxxx@ccil.org [T]here is a Darwinian explanation for the refusal to accept Darwin. Given the very pessimistic conclusions about moral purpose to which his theory drives us, and given the importance of a sense of moral purpose in helping us cope with life, a refusal to believe Darwin's theory may have important survival value. --Ian Johnston