From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA27788 for caml-red; Wed, 18 Oct 2000 11:30:15 +0200 (MET DST) 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 DAA22775 for ; Wed, 18 Oct 2000 03:31:40 +0200 (MET DST) Received: from smtp3-cm.mail.eni.net (smtp3a-cm.mail.eni.net [216.133.226.136]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id e9I1Vdf05405 for ; Wed, 18 Oct 2000 03:31:39 +0200 (MET DST) Received: from checkerlap.d6.com ([216.233.204.162]) by smtp3-cm.mail.eni.net (8.9.3/8.9.3) with ESMTP id SAA15717 for ; Tue, 17 Oct 2000 18:31:37 -0700 Message-Id: <4.3.2.7.2.20001017181959.033bed40@walt> X-Sender: def6@walt X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Tue, 17 Oct 2000 18:33:36 -0700 To: caml-list@inria.fr From: Chris Hecker Subject: non-symbol infix functions Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: weis@pauillac.inria.fr This simply has to be an FAQ, but I can't find a single reference to it in the FAQ or the manual (except the BNF, which is wrong, I think). There's no way to define an arbitrarily named infix function, right? The BNF in the manual implies you can't do it. But at the same time, that BNF implies you can't have "external" infix operators that aren't value-names (which have to be either lowercase-ident or ( operator-name )). Yet, pervasives.mli has "external (lsl)..." in it. So, why can there be an external (lsl) but not a let (lsl) x y = ...? If it's true that you can't do it internally, why did you guys bother hacking lsl and the other bit ops to be infix, since it breaks consistency (and taunts the programmer with a non-symbol infix operator the likes of which he can't make himself)? Perhaps this should be added to the FAQ? Chris