Ken Dickey wrote:
> Well if I write it...     ;^)
>
> (define <?
>   (lambda list-of-numbers
>     (assert (list? list-of-numbers))
>     (assert (for-all number? list-of-numbers))
>     (monotonic? < list-of-numbers)
> ) )
>
> (define char-<? ...)
I'm looking for:

  (define <? (raise-for-sequences <))

but I only see how to write:

  (define <? (raise-for-sequences < number?))

The implementation already "knows" in some sense
that number? is the type to use here but I have to tell
it so anyway.   There's some kind of reflective capability
that's "missing" in Scheme.

Ok, I can do the singleton case by comparing the sole
element to itself (and ignoring the result but doing the
type check) but that seems Wrong.



> Quibble: In Scheme, "<" is the name of a function.
>
> A "relation on a pair" implies that there must be a pair to be a relation.
>
>
> When I look up "binary relation" in Wikipedia I find:
>
> The statement (x,y) ∈ R is read "x is R-related to y", and is denoted by xRy 
> or R(x,y). The latter notation corresponds to viewing R as the characteristic 
> function of the _set of pairs_ G.  [emphasis mine]
>
> There is no mention of a binary relation on non-pairs.
>   

You can look up wikipedia on "relation".

It'll tell you that a /k/-relation is the characteristic function of a 
particular set of /k/-tuples.

Thus, Scheme's current < doesn't behave like a /k/-relation for any 
value of /k/.




>
> If I look up "well ordered" I find:
>
> In mathematics, a well-order relation (or well-ordering) on a set S is a 
> total 
> order on S with the property that every _non-empty subset_ of S has a least 
> element in this ordering. Equivalently, a well-ordering is a well-founded 
> total order. The set S together with the well-order relation is then called a 
> well-ordered set.
>
> Every element, except a possible greatest element, has a unique successor 
> (next element).
>   

Vocabulary confusion (sorry for causing it).   We can pick a different word.
How about "sorted"?   The empty list is sorted.   All singleton lists 
are sorted.
Etc.


>
> I.e. the null sequence/set is explicitly excluded. 

My bad.  The "well ordered" you found in wikipedia is a property
of a relation on a set.   I should have said "sorted" to refer to a
property of sequences.


>  Given that S must be 
> ordered, it follows from the (binary) order relation such a set must have at 
> least two elements to relate [my reading].
>   

A fine example of why I do not claim to be a good teacher
because by saying "well ordererd" when I meant "sorted"
(or "monotonic") I sent you off on a confusing goose chase.



>
>   
>>    Std definition => "a singleton or empty list is well ordered"
>>    Ken's definition => "a singleton or empty  list is neither well
>> ordered or not ordered"
>>     
>
> should read:
>   Ken's definition => "a singleton or empty  list is _not_ ordered".
>   

And you should be saying "monotonic" or "sorted" as well.

-t



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

Reply via email to