From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=AWL,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id DDEEEBC6B for ; Wed, 27 Jun 2007 23:08:03 +0200 (CEST) Received: from mailgw4.ericsson.se (mailgw4.ericsson.se [193.180.251.62]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5RL82Pf015961 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 27 Jun 2007 23:08:03 +0200 Received: from mailgw4.ericsson.se (unknown [127.0.0.1]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 88BA92113A; Wed, 27 Jun 2007 23:08:02 +0200 (CEST) X-AuditID: c1b4fb3e-af833bb0000007e1-b7-4682d1b2e34b Received: from esealmw127.eemea.ericsson.se (unknown [153.88.254.122]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 6D3DB203E1; Wed, 27 Jun 2007 23:08:02 +0200 (CEST) Received: from esealmw115.eemea.ericsson.se ([153.88.200.6]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Wed, 27 Jun 2007 23:08:01 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Caml-list] ocaml dll in an Erlang runtime Date: Wed, 27 Jun 2007 23:07:59 +0200 Message-ID: <6616D98C65DD514BA2E1DDC5F9223155023244F8@esealmw115.eemea.ericsson.se> In-Reply-To: <1182973204.24639.1197385329@webmail.messagingengine.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Caml-list] ocaml dll in an Erlang runtime Thread-Index: Ace48yr+ntAJVjzMS1eOKQGkeZp7HQACuyHg References: <6616D98C65DD514BA2E1DDC5F92231550228B6EB@esealmw115.eemea.ericsson.se> <1182973204.24639.1197385329@webmail.messagingengine.com> From: "Ulf Wiger (TN/EAB)" To: "Jeff Henrikson" Cc: X-OriginalArrivalTime: 27 Jun 2007 21:08:01.0481 (UTC) FILETIME=[3EE67390:01C7B8FF] X-Brightmail-Tracker: AAAAAA== X-Miltered: at discorde with ID 4682D1B2.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 erlang:01 runtime:01 slap:01 wiki:01 henrikson:01 jehenrik:01 ocaml:01 erlang:01 runtime:01 henrikson:01 0200,:01 prototyping:01 coupling:01 low-level:01 I hadn't made up my mind, but now I've created=20 a google code project: http://code.google.com/p/erlocaml/ and a google discussion group http://groups.google.com/group/erlocaml-discuss Let me know if you want to be added as member in the group or project. I have no particular structure in mind, but figure that anyone competent enough to slap together=20 useful code for this project can be trusted to=20 submit it in a reasonable way. (: Every google code project has a wiki. We could make use of that as well. Again, I have no particular=20 structure in mind. BR, Ulf W =20 > -----Original Message----- > From: Jeff Henrikson [mailto:jehenrik@yahoo.com]=20 > Sent: den 27 juni 2007 21:40 > To: Ulf Wiger (TN/EAB) > Subject: Re: [Caml-list] ocaml dll in an Erlang runtime >=20 > I have been thinking about such a bridge and what it would be=20 > good for.=20 > I thought of something. So I'd be interested in following=20 > this conversation once it leaves caml-list. Not sure if you=20 > had in mind a mailing list or sourceforge page or whatever. >=20 > Regards, >=20 >=20 > Jeff Henrikson >=20 >=20 > On Thu, 21 Jun 2007 11:39:54 +0200, "Ulf Wiger (TN/EAB)" > said: > >=20 > > Would any of you be interested in prototyping a semi-tight coupling=20 > > between Erlang and OCaml? > >=20 > > A small group of Erlang programmers have started tossing the idea=20 > > around, and with sufficient lack of detailed knowledge, it seems=20 > > pretty reasonable. (: > >=20 > >=20 > > Motivation: > >=20 > > We've been using Erlang in commercial products for over 10=20 > years now,=20 > > and it's taken about that long to get into a position where we're=20 > > considered a viable player for mission-critical product=20 > development.=20 > > In order to get there, we've also been extolling the virtues of=20 > > functional programming in general, and often cited Ocaml as=20 > an example=20 > > of how you don't have to sacrifice low-level performance. > >=20 > > We feel that the ongoing paradigm shift towards multicore=20 > > architectures is really helping our cause. There is much discussion=20 > > about how to get all those legacy apps to work and scale on new=20 > > hardware, and the advantages of functional/declarative=20 > programming are=20 > > becoming more obvious. > >=20 > > Erlang is very strong in the area of concurrency, distribution and=20 > > fault-tolerance, but fairly weak when sequential=20 > performance is of the=20 > > essence (especially number crunching). When Erlang=20 > performance isn't=20 > > enough, we usually jump into C-routines linked into the Erlang=20 > > runtime, with all the problems associated with that. Often,=20 > instead of=20 > > risking system integrity, we live with the performance we=20 > can get out of Erlang. > > It would be nice if we could present Ocaml as a safe (and=20 > productive!)=20 > > driver environment for things like parsing text-based protocols,=20 > > numerically intensive tasks, and complex sequential algorithms. > >=20 > > I've noticed that there have been some discussions about=20 > concurrency=20 > > in Ocaml. From an Ocaml perspective, this binding could be a way to=20 > > use Ocaml in distributed systems, where Erlang is used as a=20 > "systems glue" > > for supervision, load balancing, replication, etc. > >=20 > > Idea: > >=20 > > I'd like to explore the idea of running an Ocaml runtime in=20 > Erlang's=20 > > memory space. Both languages are garbage-collected, and Erlang's=20 > > linked-in driver interface allows for "drivers" that use their own=20 > > threads. We could target only the multi-processor variant=20 > of Erlang,=20 > > where this sort of cooperation becomes slightly easier. > >=20 > > For a looser connection, Erlang's distribution protocol is=20 > documented,=20 > > and allows for "C-nodes" (non-Erlang nodes) to connect to an Erlang=20 > > cluster over TCP. One could actually start with talking via regular=20 > > pipes, using a common serialization format, and then=20 > gradually making=20 > > a tighter and tigher connection. > >=20 > >=20 > > I will make no false promises, like "if we do this,=20 > Ericsson will use=20 > > it". I have no money to offer anyone, and we who have=20 > started looking=20 > > at this on the erlang side have fairly little time to spend on it.=20 > > Business as usual, in other words: no time, no money - just an idea=20 > > that might be fun to explore. > >=20 > > What say ye? Do you think it's doable? Would any of you be=20 > willing to=20 > > assist, or offer advice? > >=20 > >=20 > > The Erlang docs have an Interoperability Tutorial: > > http://www.erlang.org/doc/tutorial/part_frame.html > >=20 > > The Erlang Term serialization format, the Erlang Port Mapper Daemon=20 > > protocol, and the Distributed Erlang protocol are documented in a=20 > > slightly more obscure location. Download the source from=20 > > http://www.erlang.org/download.html and read the text file=20 > > otp_src_R11B-5/erts/emulator/internal_doc/erl_ext_dist.txt > >=20 > > If you feel that this is OT for the caml list, you can backmail me. > >=20 > > Regards, > > Ulf Wiger > > Senior software architect > > Ericsson > -- > Jeff Henrikson > jehenrik@jhenrikson.org >=20 >=20