[erlang-questions] suitability of erlang

Rustom Mody <>
Fri Oct 12 07:58:52 CEST 2012

On Fri, Oct 12, 2012 at 9:23 AM, Michael Truog <> wrote:

There are 4 main ways to integrate Erlang and C/C++ source code:
> - NIF
> - port driver
> - port
> - cnode
Thanks thats a good set of starting points

> The NIF and port driver approach can expose the Erlang VM to any memory
> problems the C code creates, though it is the most efficient.  Usually
> legacy C or C++ code is best integrated with a port, which is ran as a
> separate OS process communicating with pipes.  I have an open source
> project here: http://cloudi.org, which can simplify this integration and
> also provide natural scalability for your legacy source code …

Great! I dont yet know our project or Erlang well enough; yet I expect that
this will be a help

> if: you use the CloudI API (in this case, in C or C++) to communicate with
> an Erlang CloudI service that handles your external communication that
> needs to scale.  Then you can easily migrate parts of your system, or the
> whole system, over to Erlang, which will naturally improve your testing,
> debugging, scalability, reliability, concurrency and the source code size.
> The integration is similar to integrating with an Erlang port, but it
> provides features that prevent integration problems, like:
> - stdout/stderr handling
> - automatic OS process failure handling (similar to supervisor restarts)
> - request UUIDs
> - requests as transactions (i.e., each request receives a response
> asynchronously)
> - timeouts are enforced for soft-realtime constraints on the external
> software
> - native language integration (both C and C++ have separate interfaces
> which provide the CloudI API)
> As with all open source projects, it needs more documentation, but tell me
> if you have any questions.
As we start making headway I would be happy to contribute patches to docs.
Maybe even code but I am some way off yet :-)



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121012/c478b4a6/attachment.html>

More information about the erlang-questions mailing list