From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id E8DA3BC88 for ; Sun, 6 Feb 2005 11:03:36 +0100 (CET) Received: from mail.physik.uni-muenchen.de (mail.physik.uni-muenchen.de [192.54.42.129]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j16A3a1R003118 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Sun, 6 Feb 2005 11:03:36 +0100 Received: from localhost (unknown [127.0.0.1]) by mail.physik.uni-muenchen.de (Postfix) with ESMTP id 396EA2002E; Sun, 6 Feb 2005 11:03:36 +0100 (CET) Received: from mail.physik.uni-muenchen.de ([127.0.0.1]) by localhost (mail.physik.uni-muenchen.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 02693-01-20; Sun, 6 Feb 2005 11:03:33 +0100 (CET) Received: from mailhost.cip.physik.uni-muenchen.de (kaiser.cip.physik.uni-muenchen.de [141.84.136.1]) by mail.physik.uni-muenchen.de (Postfix) with ESMTP id 64EC120014; Sun, 6 Feb 2005 11:03:33 +0100 (CET) Received: from eiger.cip.physik.uni-muenchen.de (eiger.cip.physik.uni-muenchen.de [141.84.136.54]) by mailhost.cip.physik.uni-muenchen.de (Postfix) with ESMTP id 51C4726E87; Sun, 6 Feb 2005 11:03:33 +0100 (CET) Received: by eiger.cip.physik.uni-muenchen.de (Postfix, from userid 3092) id 387B03CBC; Sun, 6 Feb 2005 11:03:33 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by eiger.cip.physik.uni-muenchen.de (Postfix) with ESMTP id 1C3E42D71A; Sun, 6 Feb 2005 11:03:33 +0100 (CET) Date: Sun, 6 Feb 2005 11:03:32 +0100 (CET) From: Thomas Fischbacher To: Erik de Castro Lopo Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] The boon of static type checking In-Reply-To: <20050206115607.569766b7.ocaml-erikd@mega-nerd.com> Message-ID: References: <891bd33905020213315a2ebb18@mail.gmail.com> <877e9a170502031856175260c8@mail.gmail.com> <877e9a17050203185674680413@mail.gmail.com> <200502041026.56107.jon@jdh30.plus.com> <20050206115607.569766b7.ocaml-erikd@mega-nerd.com> X-BOFH: Daemons did it MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: amavisd-new at physik.uni-muenchen.de X-Miltered: at nez-perce with ID 4205EB78.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 wrote:01 o'caml:01 o'caml:01 superset:01 o'caml's:01 hof:01 hof:01 foot:98 wheels:98 cip:98 cip:98 lambda:01 lambda:01 partial:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On Sun, 6 Feb 2005, Erik de Castro Lopo wrote: > > (5) Availability of useful libraries. > > I would add: > > (6) Its far harder to shoot yourself in the foot using O'caml than > it is in C or C++. In particular, in O'caml comapred to C++, if > it compiles, its far more likely to work. Well, yes, but these - I suppose - are more or less completely out of discussion here. :-) > which holds Lisp as being the closest approximation to a superset of all > other languages. The main feature of Lisp which supposed puts it in this > position is Lisp macros. I also hear that higher order functions are not > used as much in Lisp as they are in O'caml and that this is because of > Lisp's more lax type checking. > > Drawing a long bow here, I would postulate that a language with O'caml's > HOF and strict typing and Lisp like macros, might be able to knock Lisp > off its perch. Maybe Nemerle (not that I've used it): What if I added optional(!) strict typing to lisp? Concerning HOF, I don't have a clear picture what a nice way to have something like that for lisp would be. Implementation wise, one would not want to map e.g. fun x y -> x to fun x -> fun y -> y that is, (lambda (x) (lambda (y) x)), but rather have currying work as a certain form of partial application. This might interfere somewhat badly with lisp's idea of optional and keyword args, > http://www.nemerle.org/ Oh. Great. Another language. Another occasion to repeat lots of dumb mistakes, another reason to re-invent a lot of wheels. -- regards, tf@cip.physik.uni-muenchen.de (o_ Thomas Fischbacher - http://www.cip.physik.uni-muenchen.de/~tf //\ (lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y) V_/_ (if (= x 0) y (g g (- x 1) (* x y)))) n 1)) (Debian GNU)