On Saturday 18 October 2008 18:56:01 John Cowan wrote: > Derick Eddington scripsit: > > Why does R6RS specify that predicates like =, <, >=, char<?, fx>=?, etc. > > accept a minimum of two arguments instead of accepting zero or more? > > What would be the "obvious" value of (< 2) or (=)? I have no idea whether > #t or #f would win here.
#!NaB [Not a Boolean]. 8^) But this would seriously torque compiler logic requiring booleans. [NaN is only seen as a win because failure checking can be delayed and save some computational time. Personally I prefer exceptions]. #f is the obvious base case as comparisons with nothing can't be true and in Scheme anything not #f is true (even #!Nan). > (if +nan.0 1 2) 1 > (< +nan.0 1) #f > (< 1 +nan.0) #f So #f is the obvious, consistent base case. $0.02, -KenD "Do you walk to school or take a lunch?" ;^) _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss