communicate with non-Erlang programs?
Erlang has several mechanisms for communicating with programs written in other languages, each with different tradeoffs. The Erlang documentation includes a guide to interfacing with other languages which describes the most common mechanisms: • Distributed Erlang • Ports and linked-in drivers • Erl Interface (C interface to Erlang) • Jinterface (Java interface to Erlang) • IC (IDL compiler, used with C or Java) • General TCP or UDP protocols, including ASN.1 Some of the above methods are easier to use than others. Loosely coupled approaches, such as using a custom protocol over a TCP socket, are easier to debug than the more tightly coupled options such as linked-in drivers. The Erlang-questions mailing list archives contain many desperate cries for help with memory corruption problems caused by using Erl Interface and linked-in drivers incorrectly… There are a number of user-supported methods and tools, including • A set of C++ classes • A Python implementation of an Erlang hidden n