caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Diego Olivier Fernandez Pons <dofp.ocaml@gmail.com>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Why isn't there a common platform for functional language interaction ?
Date: Sat, 10 Dec 2011 13:58:36 +0100	[thread overview]
Message-ID: <CAPFanBHfiuyriTjjBVMoo7tUzWxdLgV-FtsUKHecVvFFwwLFTw@mail.gmail.com> (raw)
In-Reply-To: <CAHqiZ-+bDbKmakxt+f9P-FwMbwVcoYaaaUO2B_gQbqygfmfbgA@mail.gmail.com>

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
<dofp.ocaml@gmail.com> 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


  parent reply	other threads:[~2011-12-10 12:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-10 10:36 Diego Olivier Fernandez Pons
2011-12-10 12:23 ` Stéphane Glondu
2011-12-10 12:38   ` rixed
2011-12-10 13:54     ` oliver
2011-12-10 12:58 ` Gabriel Scherer [this message]
2011-12-10 18:00   ` Florian Hars
2011-12-10 20:44   ` Diego Olivier Fernandez Pons
2011-12-10 21:14     ` Philippe Strauss
2012-11-18 17:26     ` Jon Harrop
2011-12-10 14:15 ` Jon Harrop

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPFanBHfiuyriTjjBVMoo7tUzWxdLgV-FtsUKHecVvFFwwLFTw@mail.gmail.com \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=dofp.ocaml@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).