Event based library integration in Pharo image and VM

Mentor: Mariano Badoglio
Second mentor: Davorin Ruševljan
Level: Advanced
Submitted proposal to Melange: Geronimo Forconi
Invited students: Geronimo Forconi
Students interested: Geronimo Forconi


Event based libraries help handling large number of concurrent connections and sources of async events. Many successful projects use such libraries like for instance Node.js and Twisted. To be used in Pharo suitable interface in image and quite possibly in VM would be needed.

Technical Details

Two main candidate libraries for inclusion would be libev and libuv. It would be necessary to find suitable and efficient non delaying way to transfer callbacks from library to process inside Smalltalk image. One path suggested by Elliot Miranda was to investigate Multi threaded VM and see if some of its functionality can be used as is or as a base for further development.

Benefits to the Student

Getting in depth understanding of event driven frameworks and interfacing to Smalltalk virtual machine.

Benefits to the Community

Having efficient event driven library available in Smalltalk would open possibility of writing efficient servers in Smalltalk that can handle large number of concurrent connections.

Updated: 9.4.2013