[erlang-questions] What should go into the FFI chapter of the book

Joel Reymont joelr1@REDACTED
Tue Dec 11 14:34:43 CET 2007


Serge,

I agree with you on everything you wrote below. This is just the kind  
of feedback I love.

I have also been told that there's work on WxWidgets as a linked-in  
driver.

My focus is to both finish the book quickly and to keep it  
informative. This requires a compromise and I suspect that the book  
will not look like anything I envisioned in the beginning.

It may well be that it's better to either describe the WxWidgets  
driver than to write a Cocoa bridge for the book. Describing existing  
code takes far less time than writing significant new code bases.  
WxWidgets is also cross-platform so Windows and Linux users of Erlang  
could run it, unlike the Cocoa bridge.

In the end it may well suffice for me to just elaborate on what you  
listed below. There's more than enough content, complexity and value  
in doing this. I think I'll try to start down this path and see what  
happens.

	Thanks, Joel

On Dec 11, 2007, at 1:04 PM, Serge Aleynikov wrote:

> I think it would be useful to cover link-in drivers from the  
> following perspective:
>
> 1. C types: ErlDrvData, ErlDrvBinary, ErlIOVec, etc. and how to  
> marshal terms to Erlang using these primitives.
> 2. Taking advantage of driver queues.
> 3. Monitoring health of Pids from C, and performing driver shutdown  
> or resource cleanup when a Pid dies.
> 4. Highlighting differences between output methods (output, output2,  
> outputv).
> 5. Handling events from other sources (driver_select, ready_input,  
> ready_output and event callbacks) in the driver.
> 6. When to use ei and when not to.
>
> At least there is currently no in-depth illustrated coverage of  
> these subjects and one has to go through a broad trial-and-error  
> cycle (at least I know I did :-( ) that keeps the learning curve  
> pretty steep before he/she learns these concepts and the mysterious  
> veil of driver complexity dissolves.
>
> Serge

--
http://wagerlabs.com








More information about the erlang-questions mailing list