Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Sorting
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Pierre Weis <pierre.weis@i...>
Subject: Re: [Caml-list] Sorting
> >What are advantages and disadvantages in parametrizing either by '<'
> >or by the 3-way comparison?
> 
> It's better because it is more modern :-)
[...]
> -- Damien

Wao! I love this argument, thank you Damien!

Just for fun, I would like to help with a small figure that will even
enforce this definitive argument. Consider the following figure 1 that
has to be read horizontally as well as vertically, and where vertical
arrows have to be interpreted as semantics equivalence, as opposed to
horizontal arrows which are used to designate mere opposition (or
``semantical'' contrary), as typographical difference between
horizontal and vertical arrows emphasizes. Hence, the diagram has not
to be confused with a categorical commutating diagram: even if the
vertical commutation is granted, the horizontal commutation does not
apply. In particular, you cannot deduce from the figure that modern is
equivalent to function, but you can take it for granted that object is
new, good, and modern. Note that this figure summarizes also some
fruitful guidelines for programming language designers :). Note also
that you can add new balloons to the figure in order to help you to
explain your point of view to others during discussions; for instance
consider adding balloons for syntax and/or semantics
proposals/extensions for Caml, or also new semantics fields such as
classic, revised, obsolete, pure, hot, {\it ad libitum}...


             |--------|                    |-------------|
             | modern |     <--------->    | traditional |
             |--------|                    |-------------|
                 ^                                ^
                 |                                |
                 |                                |
                 v                                v
             |--------|                    |-------------|
             |  good  |     <--------->    |     bad     |
             |--------|                    |-------------|
                 ^                                ^
                 |                                |
                 |                                |
                 v                                v
             |--------|                    |-------------|
             |  new   |     <--------->    |     old     |
             |--------|                    |-------------|
                 ^                                ^
                 |                                |
                 |                                |
                 v                                v
             |--------|                    |-------------|
             | object |     <--------->    |   function  |
             |--------|                    |-------------|

             Fig. 1, semantical fields associations and equivalences


I hope nobody will take this as a personnal attack, but as a kind of
funny reminder that we should try to do our best to avoid using words
with strong connotations out of our field: it is too easy to generate
flamewares this way! In my opinion, we should prefer technical terms
and arguments directely borrowed from computer science, either from
theory or from practice...

Hope this will help,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/


-------------------
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