From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id KAA10690; Mon, 2 Dec 2002 10:52:42 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA25608 for ; Mon, 2 Dec 2002 10:52:41 +0100 (MET) Received: from iona.labri.fr (iona.labri.fr [147.210.8.143]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id gB29qf118811 for ; Mon, 2 Dec 2002 10:52:41 +0100 (MET) Received: from localhost (localhost.localdomain [127.0.0.1]) by iona.labri.fr (Postfix) with ESMTP id 636C97E6A for ; Mon, 2 Dec 2002 10:52:40 +0100 (CET) Received: from serveur1.labri.fr (serveur1.labri.fr [147.210.8.170]) by iona.labri.fr (Postfix) with ESMTP id 4AFED7E4B for ; Mon, 2 Dec 2002 10:52:39 +0100 (CET) Received: (from vanicat@localhost) by serveur1.labri.fr (8.11.6/8.11.6) id gB29qdV17410; Mon, 2 Dec 2002 10:52:39 +0100 X-Authentication-Warning: serveur1.labri.fr: vanicat set sender to vanicat@labri.u-bordeaux.fr using -f To: caml-list@inria.fr Subject: Re: [Caml-list] Understanding why Ocaml doesn't support operator overloading. References: <20021130214138.GA19662@force.stwing.upenn.edu> <200212011730.SAA10480@pauillac.inria.fr> <20021201234154.GA4301@force.stwing.upenn.edu> From: Remi VANICAT In-Reply-To: <20021201234154.GA4301@force.stwing.upenn.edu> Date: 02 Dec 2002 10:52:38 +0100 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Virus-Scanned: by AMaViS new-20020517 X-Razor-id: 1b66cd4ea52b7036d05b714b749317a6b8bd6bf6 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk William Lovas writes: > Mmm, this certainly is a useful use of polymorphism without parametrized, > types, but the challenge i was trying to propose was more to the spirit of > the original 'a -> 'a theorem: by "useful function that operates on just > 'a's", what i meant was essentially "a non-trivial function of type > 'a -> 'a", which is (i hope) a significantly more difficult challenge :) > > Polymorphism as used in `raise' and `ignore' strikes me as more language > magic than anything else -- although useful in practice, i have a strong > intuition that from a certain theoretical perspective, namely that of > purely functional languages, they're not so interesting. So, to clarify, > while they are practical uses of polymorphism, they're not what i had in > mind when i wrote the above paragraph. Well, the ignore function is just an example of a constant function, that may be of some interest in some case. The raise function is more complex as it use exception that are a difficult matter in purely functional languages. But I remember to have seen a try to add exception to Haskell, so there might be intersting too. -- Rémi Vanicat vanicat@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~vanicat ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners