caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: jeanmarc.eber@lexifi.com
To: Xavier Leroy <xavier.leroy@inria.fr>
Cc: "Marcin 'Qrczak' Kowalczyk" <qrczak@knm.org.pl>, caml-list@inria.fr
Subject: Re: [Caml-list] Sorting
Date: Mon, 05 Nov 2001 13:26:26 +0100 (MET)	[thread overview]
Message-ID: <1004963186.3be685724d991@imp.pro.proxad.net> (raw)
In-Reply-To: <20011105102251.C8282@pauillac.inria.fr>

En réponse à Xavier Leroy <xavier.leroy@inria.fr>:

> > What are advantages and disadvantages in parametrizing either by '<'
> > or by the 3-way comparison?
> 
> In addition to what has been said already, the 3-way comparison is
> less error-prone with respect to two classic errors:
> 1- passing a "less than or equal" predicate where a "less than"
>    predicate is expected, or conversely;
> 2- passing a predicate that is not a total ordering where a total
>    ordering is expected.
> Both errors could cause the old Sort.array or Sort.list functions to
> misbehave seriously.  These errors are still possible with the 3-way
> comparison approach, but less likely I think.
> 
> - Xavier Leroy

When we are just about "sorting predicates":

I always have a little hesitation about the properties that are
assumed on this functions.

Shouldn't one say clearly in the OCaml doc that these comparison
function are simply suppposed (if I'm not wrong) to be a

  total pre-order, that is a binary predicate that is

  total (of course)
  transitive
  reflexive

BUT NOT necessarly anti-symetric.

Of course, these properties have to be "translated" back into the
3-way comparison approach (thats trivial) but I would find it helpful to
say precisely what properties these functions should have.

Jean-Marc Eber
LexiFi Technologies
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  reply	other threads:[~2001-11-05 12:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-31  7:54 Marcin 'Qrczak' Kowalczyk
2001-11-05  9:22 ` Xavier Leroy
2001-11-05 12:26   ` jeanmarc.eber [this message]
2001-10-31 13:42 Damien Doligez
2001-11-02 14:38 ` Pierre Weis
2001-11-02 15:10 Krishnaswami, Neel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1004963186.3be685724d991@imp.pro.proxad.net \
    --to=jeanmarc.eber@lexifi.com \
    --cc=caml-list@inria.fr \
    --cc=qrczak@knm.org.pl \
    --cc=xavier.leroy@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).