(Prolog + LISP + Erlang) with integration issues versus C++

Dev Functional <>
Thu Aug 25 12:26:09 CEST 2005

On 8/25/05, Joe Armstrong (AL/EAB) <> wrote:
> I'll give a short answer:
>         You need to think in terms of components.
>         A component is described by three parameters (IP, Port, P)
>         This means that a socket opened to (IP, Port) will obey the protocol
> called P.
>         P has written in a "language neutral manner"

Dr Armstrong,

Thanks for your mail.

The gprolog component has to be hosted in a container (C, gprolog don't know)
which can communicate on sockets and also handle threading issues.

Our hope was that since Erlang does both sockets and concurrency so
beautifully, we will just load the gprolog component from within Erlang.

The communication and control system is in Erlang and distributed between
the Backup Appliance (Server) and the to be backed-up target machine.

So, as the AI components are doing their work (gprolog and clisp stuff),
backup process will start and data at wire-rates (< 100Mbps, network I/O) 
will be transferred to Backup Appliance and concurrently written (disk I/O).

As you can see each node has AI components and Erlang.
This is necessary because the AI works on the protocol characteristics
(which includes flow control) and hence the attendant complexity.

Your advise in this matter will be greatly appreciated.


More information about the erlang-questions mailing list