From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pBACx4pG015784 for ; Sat, 10 Dec 2011 13:59:04 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvwAANlW405KfVIqimdsb2JhbABDqnQIIgEBAQoJDQcSBiGBcgEBAQQSAiwBGx0BAwwGBQsHBi4hAQERAQUBDg4GCgkJGYdumEgKi2SCa4RDPYhxAgUMi2EElHGKaYMIPYN6 X-IronPort-AV: E=Sophos;i="4.71,331,1320620400"; d="scan'208";a="134830751" Received: from mail-ww0-f42.google.com ([74.125.82.42]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 10 Dec 2011 13:58:59 +0100 Received: by wgbds13 with SMTP id ds13so5109588wgb.3 for ; Sat, 10 Dec 2011 04:58:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=JJ78jlsm+vjdpdyycsmhyjNs0PMVtAAEkpwWGRRczfQ=; b=qi9HVbvXBMmPua9NY6XqpwXPb7q5kRYsE1A0+ISQl37C4dMrT9WsSk+5jUWZL1Pawq ay6rdZQWHpEYb6fkd1mGHMwKQ/oZ4Du5L9BORbcsQDyHFb3o2xywiJLeb6PDrEWSIoRc RvLGKZOW7QQCCG2q83y5B/nwRprKUNmOXLMNw= Received: by 10.180.105.3 with SMTP id gi3mr14659412wib.36.1323521938823; Sat, 10 Dec 2011 04:58:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.227.43.4 with HTTP; Sat, 10 Dec 2011 04:58:36 -0800 (PST) In-Reply-To: References: From: Gabriel Scherer Date: Sat, 10 Dec 2011 13:58:36 +0100 Message-ID: To: Diego Olivier Fernandez Pons Cc: caml-list Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id pBACx4pG015784 Subject: Re: [Caml-list] Why isn't there a common platform for functional language interaction ? There already exist such a common denominator language. For performance reasons, it is architecture-dependent (I mean there are several dialects to better use hardware peculiarities; the virtual machine it runs on is not exactly virtual). Unfortunately, most languages have concentrated on compiling to it in an efficient manner, rather than considering how to interact with the other ones. For maintainability reasons, we tend to develop N wrappers to a historic common bridge language also compiled to that common denominator (you may have heard of it before as it can also barely be used for programming, it's called C), rather than N*N wrappers, one for each pair of languages. The common denominator language also doesn't provide runtime facilities (how could F#, SML, OCaml and Haskell agree on a common runtime anyway?), and it is very hard to make the various runtimes interact gracefully (eg. you basically can't share data except raw numbers, only transfer ownership from one runtime to another). There have been plans to move to a better common denominator, or at least a better bridge language (C--, LLVM, ...), but it is very hard to move from the historical choice, despite the attracting technical improvements of newer candidates. Moreover, it is basically impossible to move up the abstraction ladder (eg. provide common runtime components) without sacrificing universality or efficiency. On Sat, Dec 10, 2011 at 11:36 AM, Diego Olivier Fernandez Pons wrote: >     Caml-list, > > Given that other people are raising trolls, here is mine... > > I have to admit I appreciate F# transparent interaction with C# libraries > which allows me to use large amounts of code that I would have had to poorly > rewrite otherwise (GUI, database, web stuff, etc). Same happens with SML, > Caml, Haskell and F#, some pieces of code are just way better in one > language than in the others, and you end partially porting these libraries > to Caml which is a waste of time and you don't benefit from the updates of > the original code and nobody but you can maintain your quick-and-dirty port. > > Why isn't there a core functional languages to which everyone could compile, > on which the compiler research could be done (certification, optimisation, > garbage collection) and that would allow full interaction of the different > dialects at run-time ? > > At some point I thought that C-- (http://www.cminusminus.org/index.html) and > that type of work would converge to that but it never happened. > >         Diego Olivier