Browse thread
ocaml dll in an Erlang runtime
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Ulf Wiger (TN/EAB) <ulf.wiger@e...> |
| Subject: | RE: [Caml-list] ocaml dll in an Erlang runtime |
I hadn't made up my mind, but now I've created 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 useful code for this project can be trusted to 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 structure in mind. BR, Ulf W > -----Original Message----- > From: Jeff Henrikson [mailto:jehenrik@yahoo.com] > Sent: den 27 juni 2007 21:40 > To: Ulf Wiger (TN/EAB) > Subject: Re: [Caml-list] ocaml dll in an Erlang runtime > > I have been thinking about such a bridge and what it would be > good for. > I thought of something. So I'd be interested in following > this conversation once it leaves caml-list. Not sure if you > had in mind a mailing list or sourceforge page or whatever. > > Regards, > > > Jeff Henrikson > > > On Thu, 21 Jun 2007 11:39:54 +0200, "Ulf Wiger (TN/EAB)" > <ulf.wiger@ericsson.com> said: > > > > Would any of you be interested in prototyping a semi-tight coupling > > between Erlang and OCaml? > > > > A small group of Erlang programmers have started tossing the idea > > around, and with sufficient lack of detailed knowledge, it seems > > pretty reasonable. (: > > > > > > Motivation: > > > > We've been using Erlang in commercial products for over 10 > years now, > > and it's taken about that long to get into a position where we're > > considered a viable player for mission-critical product > development. > > In order to get there, we've also been extolling the virtues of > > functional programming in general, and often cited Ocaml as > an example > > of how you don't have to sacrifice low-level performance. > > > > We feel that the ongoing paradigm shift towards multicore > > architectures is really helping our cause. There is much discussion > > about how to get all those legacy apps to work and scale on new > > hardware, and the advantages of functional/declarative > programming are > > becoming more obvious. > > > > Erlang is very strong in the area of concurrency, distribution and > > fault-tolerance, but fairly weak when sequential > performance is of the > > essence (especially number crunching). When Erlang > performance isn't > > enough, we usually jump into C-routines linked into the Erlang > > runtime, with all the problems associated with that. Often, > instead of > > risking system integrity, we live with the performance we > can get out of Erlang. > > It would be nice if we could present Ocaml as a safe (and > productive!) > > driver environment for things like parsing text-based protocols, > > numerically intensive tasks, and complex sequential algorithms. > > > > I've noticed that there have been some discussions about > concurrency > > in Ocaml. From an Ocaml perspective, this binding could be a way to > > use Ocaml in distributed systems, where Erlang is used as a > "systems glue" > > for supervision, load balancing, replication, etc. > > > > Idea: > > > > I'd like to explore the idea of running an Ocaml runtime in > Erlang's > > memory space. Both languages are garbage-collected, and Erlang's > > linked-in driver interface allows for "drivers" that use their own > > threads. We could target only the multi-processor variant > of Erlang, > > where this sort of cooperation becomes slightly easier. > > > > For a looser connection, Erlang's distribution protocol is > documented, > > and allows for "C-nodes" (non-Erlang nodes) to connect to an Erlang > > cluster over TCP. One could actually start with talking via regular > > pipes, using a common serialization format, and then > gradually making > > a tighter and tigher connection. > > > > > > I will make no false promises, like "if we do this, > Ericsson will use > > it". I have no money to offer anyone, and we who have > started looking > > at this on the erlang side have fairly little time to spend on it. > > Business as usual, in other words: no time, no money - just an idea > > that might be fun to explore. > > > > What say ye? Do you think it's doable? Would any of you be > willing to > > assist, or offer advice? > > > > > > The Erlang docs have an Interoperability Tutorial: > > http://www.erlang.org/doc/tutorial/part_frame.html > > > > The Erlang Term serialization format, the Erlang Port Mapper Daemon > > protocol, and the Distributed Erlang protocol are documented in a > > slightly more obscure location. Download the source from > > http://www.erlang.org/download.html and read the text file > > otp_src_R11B-5/erts/emulator/internal_doc/erl_ext_dist.txt > > > > If you feel that this is OT for the caml list, you can backmail me. > > > > Regards, > > Ulf Wiger > > Senior software architect > > Ericsson > -- > Jeff Henrikson > jehenrik@jhenrikson.org > >