Cocoa Bindings

Joel Reymont joelr1@REDACTED
Sat Aug 26 23:02:52 CEST 2006

The more I think about the idea of Cocoa Bindings for Erlang the more  
it does not make sense to me. I got my Cocoa app to connect to the  
Erlang VM and recognize when data is available to be read. This is  
very simple, actually.

The main issue is all the heavy-duty marshalling that needs to be  
done for every Cocoa/ObjC call. Not only do you need to extract data  
from Erlang terms but also build NSInvocation objects to execute the  
call and allocate memory to grab the results.

With other languages you can just pass pointers around but,  
obviously, you cannot do this over sockets. Then there's the matter  
of executing calls like

[[[NSFileHandle alloc] initWithFileDescriptor:fd closeOnDealloc:YES]  

where you need to compose a bunch of functions and run each on the  
results of the previous one. Yes,  you can send something like this  
to the C node

[{'NSFileHandle', alloc}, ['initWithFileDescriptor:', Fd,  
{'closeOnDealloc', 'YES'}]]

but I wonder what is the point? The GUI can be built with much ease  
in XCode and only domain-specific and optimized messages can be sent  
between the Cocoa node and the Erlang. This gets one the best of both  
worlds, in my opinion.

What do you think?

	Thanks, Joel


More information about the erlang-questions mailing list