Erlang is a massively parallel language, and we have been interested in Erlang as a client for the Mu micro virtual machine for a long time. We need to test the capability of Mu with Erlang, mainly focusing on multi-threading and SWAPSTACK-based light-weight threads.
In the end, the student should have a working Erlang implementation, and a list of advices to improve Mu.
The student will implement an ahead-of-time (or JIT if possible) Erlang-to-Mu compiler, the core library that supports the language (including multi-threading, message passing, basic data structure operations, etc.), and a small set of higher-level librarys (such as socket and file operations).
The student should be familiar with message passing based parallel programming, preferrably with experience in Erlang.
The student will gain familiarity with the Mu micro virtual machine, the compiling of Erlang, and the implementation details of synchronisation mechanisms, such as message queues.
micro virtual machine