Tue Jul 21 12:14:04 CEST 2009
Richard O'Keefe wrote:
> (This is one reason why a
> Foreign Function Interface for Erlang is a Bad Idea: load
> FFI code and you lose the guarantees, completely.)
I'd phrase this differently.
This is the main reason why the use of linked-in drivers
has always been discouraged: run user-defined C code inside
the virtual machine memory space and you lose the guarantees,
There is no difference in this regard between the current
linked-in driver interface(s) and the proposed FFI - just
the 'small' matter of making it more convenient to rid yourself
of said guarantee (which, strictly speaking, states that
only the virtual machine and compiler have the power to mess
with the memory of your process, and they are much more likely
to be correct than your own code.)
Linked-in C code is sometimes necessary for acceptable
performance, but it comes at a considerable cost in terms
of handling and robustness.
CTO, Erlang Training & Consulting Ltd.
More information about the erlang-questions