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 15EF1BCAE for ; Tue, 19 Jul 2005 00:16:53 +0200 (CEST) Received: from ash25e.internode.on.net (ash25e.internode.on.net [203.16.214.182]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6IMGpJ5004930 for ; Tue, 19 Jul 2005 00:16:52 +0200 Received: from rosella (ppp27-104.lns1.syd2.internode.on.net [59.167.27.104]) by ash25e.internode.on.net (8.12.9/8.12.6) with ESMTP id j6IMGaPJ077978; Tue, 19 Jul 2005 07:46:37 +0930 (CST) (envelope-from skaller@users.sourceforge.net) Subject: Re: [Caml-list] (Mostly) Functional Design? From: skaller To: Gerd Stolpmann Cc: Robert Morelli , Kyle Consalus , caml-list@yquem.inria.fr In-Reply-To: <1121715959.21919.59.camel@localhost.localdomain> References: <9cc3782b05071411004b27b6a4@mail.gmail.com> <42DB6161.4030507@cs.utah.edu> <1121715959.21919.59.camel@localhost.localdomain> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-rMDvKbO5dwRf4y3RZ66u" Date: Tue, 19 Jul 2005 08:16:36 +1000 Message-Id: <1121724996.6774.121.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.2.1.1 X-Miltered: at nez-perce with ID 42DC2A53.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 gerd:01 stolpmann:01 reuse:01 reuse:01 ocaml:01 ocaml:01 binary:01 namespaces:01 libs:01 wrote:01 exception:01 sourceforge:01 sourceforge:01 dynamically:01 X-Attachments: type="application/pgp-signature" name="signature.asc" 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: --=-rMDvKbO5dwRf4y3RZ66u Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2005-07-18 at 21:45 +0200, Gerd Stolpmann wrote: > Well, I don't believe that. There aren't any technical reasons why > people don't think FP languages are attractive. There are social > reasons. There are technical reasons why existing FP *tools* aren't=20 attractive.. though it is hard to divorce 'technical' from 'social': programming is a human activity, and so=20 intrinsically social. The most important problem with FP languages is quite simple -- it is expensive to interface them to existing code. And the 'social' analogue: existing programmers. Most projects (a) reuse existing code and (b) reuse existing programmers. It isn't a matter of going back to school. C++ was successful precisely because it allowed reuse of both C code and C programmers. Ocaml can be successful where starting from scratch is OK: a new project or a new business venture. Secondly, the tools have some real problems, like all tools. Ocaml, for example, just cannot generate dynamically loadable binary libraries easily (if at all), and whilst it can use source code libraries .. there are no namespaces or packages to organise large code bases. The former isn't a problem with the Ocaml language though.. but it is enough of a problem with the tools that I've spent 5 years developing an FP language (in Ocaml of course) that can generate dynamically loadable libraries. If only 'XYZ' functional language could simply replace C generating C libraries, it would be an instant winner! But even C++ can't do that .. you can use C libs in C++ but not the other way around, at least not easily (because of exception handling ..) --=20 John Skaller --=-rMDvKbO5dwRf4y3RZ66u Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQBC3CpEsRp8/9aGVGsRAtyFAKCHKA8U8aUNcSMK2/4bviVNl08/egCgg5vM Fm5d9KaIPurwIc0MiW/PJRw= =bGlt -----END PGP SIGNATURE----- --=-rMDvKbO5dwRf4y3RZ66u--