From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id AB2D4BC8B for ; Mon, 14 Feb 2005 01:42:24 +0100 (CET) Received: from mail.physik.uni-muenchen.de (mail.physik.uni-muenchen.de [192.54.42.129]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j1E0gOlO001784 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Mon, 14 Feb 2005 01:42:24 +0100 Received: from localhost (unknown [127.0.0.1]) by mail.physik.uni-muenchen.de (Postfix) with ESMTP id ECBD02003E; Mon, 14 Feb 2005 01:42:23 +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 20979-01-8; Mon, 14 Feb 2005 01:42:22 +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 1EBCE20004; Mon, 14 Feb 2005 01:42:22 +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 B631926E89; Mon, 14 Feb 2005 01:42:21 +0100 (CET) Received: by eiger.cip.physik.uni-muenchen.de (Postfix, from userid 3092) id 05D3D3CBB; Mon, 14 Feb 2005 01:42:12 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by eiger.cip.physik.uni-muenchen.de (Postfix) with ESMTP id 034142D714; Mon, 14 Feb 2005 01:42:12 +0100 (CET) Date: Mon, 14 Feb 2005 01:42:11 +0100 (CET) From: Thomas Fischbacher To: Michael Walter Cc: Daniel Heck , caml-list@yquem.inria.fr Subject: Re: [Caml-list] The boon of static type checking In-Reply-To: <877e9a1705021316114d4e10f0@mail.gmail.com> Message-ID: References: <877e9a17050206221653d14456@mail.gmail.com> <200502131451.02231.edgin@slingshot.co.nz> <20050213112630.73930e19@hobbes> <877e9a1705021312525337a907@mail.gmail.com> <877e9a1705021314512ff095b9@mail.gmail.com> <877e9a1705021316114d4e10f0@mail.gmail.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 concorde with ID 420FF3F0.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 wrote:01 runtime:01 syntax:01 drawbacks:01 compiler:01 conceptually:01 ad-hoc:01 ...:98 cip:98 cip:98 lambda:01 lambda:01 precisely:01 checking: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, 13 Feb 2005, Michael Walter wrote: > > You can just as well put another REPL at the top. MAXIMA is an example of > > just one system that does precisely that. > > Exactly! That's creating a new language. Ok, then if you see it that way: the major difference then is that you do not have to go through the daunting process of implementing all of the runtime system so that it is (1) fast, (2) bugfree, (3) sufficiently complete to be useful. Furthermore, you gain the ability to use already existing libraries. Anything else is in >95% of all cases an exercise in Greenspunning. > > [...] > > So, again, syntax is not by itself an essential feature of the language. > I rate the "human factor" important enough to consider it as an > essential feature for programming languages meant to be used by > humans. Well, yes, but this can be studied to great extent without the drawbacks of creating incompatibility boundaries, see above. > Of course, if you decide to use S-expressions primarily as a compiler > target that's an entirely different issue (to bad that this path > hasn't been explored that much, besides maybe Dylan). That's how it's supposed to be. Especially scheme tries to be nothing else but just the minimal "functional assembly language". So one can put other languages on top of it. Judging from the .NET CLR specification, I'd say that conceptually, scheme does the far better job, as it does not treat such lots of non-fundamental ad-hoc concepts (in particular, everything related to OO) as fundamental. -- 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)