Extending Erlang
André Bjärby
andre@REDACTED
Thu Feb 20 09:29:11 CET 2003
On Thu, Feb 20, 2003 at 09:10:20AM +0100, Vlad Dumitrescu (EAW) wrote:
> Hi,
>
> I had some thoughts buzzing in my head for the last few days, and I will share them with you - who knows, maybe they are of some interest. I amy also be plain wrong in some assumptions.
>
> I started looking seriously at drivers and how Erlang can be extended. A first impression is that it's unnecessarily complicated. And three different alternatives came up :
>
> - C-processes; just like C-nodes emulate Erlang nodes, C-processes are Erlang processes look-alikes in more ways than ports: they understand Erlang terms directly, they have a message box. The difference is that they are written in C and run in an OS thread. This *might* make writing C extensions conceptually closer to writing Erlang code.
>
> - Dynamically added BIFs; for library-type functions, like for example advanced math. Current ports feel like too bulky.
>
> - "Inverse plug-in" system; found no better name. What I refer to is that instead of loading drivers into the beam VM, one might embed the VM into an external application. More or less what is done for werl.exe, I think. This one is rather fuzzy even for me, but can it be so that this kind of integration is different than with a pipe driver? Or is it just the same, communication via stdin/stdout?
>
> Comments are welcome. Best regards,
> Vlad
If you have not done so already, you should read,
"The Evolution of Erlang Drivers and the Driver Writer's Toolkit"
http://www.erlang.se/workshop/2002/Fritchie.pdf
/A
More information about the erlang-questions
mailing list