On Sunday 19 October 2008 18:08:19 Thomas Lord wrote: > On the one hand, you don't want to allow 0 or 1 argument because > you see < as a binary relation and those cases don't make sense > unless we're treating < as sequence predicate. You want the error > checking to rule out 0 or 1 arguments to avoid "surprise" to > someone who sees a binary operator there. > > On the other hand, you'll allow 3 arguments because it is > convenient and in spite of the fact that it rules out error checking > for someone who sees a binary operator there.
For me, < is a test for a _relationship between numbers_ (which can be extended transitively). The word "between" implies more than one. I do not see a "natural" numeric relationship between non-numbers or between a number and a non-number. I don't know what this would model [in Scheme]. I can see building a symbolic math library where extensions might make sense in varying contexts, but not in basic arithmetic. > > I don't consider (low-bound x high-bound) to be a sequence > > Parameter lists satisfy any reasonable axiom system for finite > sequences so they are such regardless of whether or not you give > the matter your consideration. > > But, now you have a "consideration deficit". This is correct. I also do not consider +nan.0, +inf.0, and -inf.0 as numbers. I consider them "off-scale" markers. I think that testing for (= +nan.0 +nan.0) is silly and should raise an exception. [(eq? +nan.0 +nan.0) is sensible]. I realize this is not a global viewpoint. > Your selection of what to call an error seems to me on a shaky > ground of trying to predict "common cases" rather than asking > how to make clean models. Being is being related. Numeric "relations" to "non-being" don't make sense to me. That a numeric predicate applied "out of context" e.g. (< 'a "foo") or (< 2) or (=) should raise an exception seems natural to me. I am expressing my opinion. $0.02 -KenD _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss