Erlangen: asynchronous, distributed message passing for Clozure CL (lightning talk for ELS 2017)

Max Rottenkolber <max@mr.gy>

Erlangen

“You can’t do that, it won’t be like Erlang!”

…there are also many reasons to prefer CL/Erlangen over Erlang

I did it, its amazing: lessons learned

even if processes are heavy, supervision trees are worth their weight in gold

just don’t modify objects you send (send = free)

tempted to look at asynchronous I/O (IOLib): complete dead end, no tasteful way to write code

blocking is fine as long as you always supply a timeout

Write reliable services in Common Lisp

Supervision tree of a real-life application (processes can be spread on remote nodes)
Supervision tree of a real-life application (processes can be spread on remote nodes)

Research: explore distributed designs

live visualization of 300 SLOC Kademlia DHT implementation on Erlangen
live visualization of 300 SLOC Kademlia DHT implementation on Erlangen

Numbers (on Intel Xeon E31245 3.30GHz)

…no serious optimization work done so far!

No SBCL, … support because

Hack it!