Another reason is performance. The generic, polymorphic comparison function drops you out into C (which has a cost) and has to compare every single possible value combination. A customized comparison function stays in ocaml and handles only what you need ie. it's driven by type information that the generic function lacks. Yotam On Wed, Sep 10, 2014 at 7:27 AM, Gerd Stolpmann wrote: > Am Mittwoch, den 10.09.2014, 10:56 +0200 schrieb SF Markus Elfring: > > Hello, > > > > I extended my software development experience a bit for the programming > language > > "OCaml". I find my knowledge incomplete here to resolve an issue like > > "Comparison function application" alone. > > https://github.com/elfring/OTCL/issues/4 > > There are three reasons why you want to have your own comparison > function: > > - You need a different ordering than provided by Pervasives.compare. > For compound types the ordering of compare is implementation-defined, > and currently the implementation prefers the fastest way of comparing. > E.g. if you compare arrays, you don't get a lexicographic ordering. > This is sometimes not what you need. > - Your values are cyclic. compare may hang if you try to compare cyclic > values. > - Your values contains parts that cannot be compared, like functions. > With a custom comparison function you can skip these parts. > > Gerd > > > How do you think about to discuss corresponding implementation details > for an > > evolving class library? > > > > I would appreciate your advices. > > > > Regards, > > Markus > > > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > >