[r6rs-discuss] Comparison procedures' number of arguments
Ken Dickey
Ken.Dickey at whidbey.com
Tue Oct 21 16:38:10 EDT 2008
On Tuesday 21 October 2008 12:53:32 Thomas Lord wrote:
> > Ken Dickey wrote:
> > Can't we just use comparison predicates to compare quantities?
>
> A set of binary predicates makes sense to me.
>
> The way the word is usually used, the consequent of the conditional
> should return #t. (You're defining "monotic-and-two-or-more?")
> E.g., look for math definitions of "monotonic" on the web.
OK [wikipedia again]:
In mathematics, a monotonic function (or monotone function) is a function
which preserves the given order.
Order => two or more. I see nothing about unordered monotonicity [whatever
that might mean].
> > Is there really a natural, universal, fundamental extension here that
> > needs to be in the language?
..
> Having an arbitrary arity predicate that returns #t iff
> it's arguments (if any) are in order seems like a basic
> thing.
>
> As it stands now the primitive < tests if a sequence
> of length 2 or greater is well ordered which is a bit
> exotic and tends to not come up often in math.
I think this is the crux of the matter. I was trained as and engineer -- a
user of mathematics, rather than as a mathematician.
Looking at my undergraduate math books [Elementary Functions, Calculus, Linear
Algebra, Numerical Methods, Approximation Theory, Probability, Fluid
Mechanics, Differential Equations, ...] there are zero (count' em, zero)
mentions of relation, transitive relation, reflexive relation, symmetric
relation, partial order, or total order.
You are claiming/assuming a "natural, universal, fundamental" extension to a
transitive binary predicate/relation for a specialized use one may not get
introduced to until graduate school.
I know (<=) => #t looks normal _to you_. But I believe that you are a
specialist and I think that you are trying to inject a particular logic into
a "basic literacy" kind of usage. I think that high school and undergraduate
students should be able to use Scheme to do math without having to understand
graduate level mathematics.
$0.02,
-KenD
More information about the r6rs-discuss
mailing list