Announce: Molecule

45 views
Skip to first unread message

Sébastien Bocq

unread,
Apr 28, 2013, 9:58:55 AM4/28/13
to scala-a...@googlegroups.com, Koen Daenen
Hi everyone,

We are pleased to announce that Molecule, a novel concurrent programming library combining monadic and streaming I/O for Scala, is now open-source: https://github.com/molecule-labs/molecule#molecule.

Molecule offers several features that set it apart from the classical Actor model, like Pi-Calculus style higher-order communication channels, streaming primitives and support for seamless termination. Its rationale and fundamental design principles are described and illustrated in details over three simple examples in a paper that was accepted at OOPSLA 2012. Next to that, you can find many additional examples on Github in the 'molecule-{core,io,net}-examples' directories. For instance, in the 'net' examples, we show how to implement protocols conveniently using fast incremental parser combinators that can parse binary streams directly from non-blocking sockets.

By releasing Molecule as open-source, we aim to support research in the domain but also to encourage creative uses, contributions, extensions, derivative work, benchmarks or even competing implementations of the library. Note that if you are interested in performance comparisons, you might want to reuse the benchmarking suite available in 'molecule-benchmarks', which is the one we used to compare Molecule against Scala Actors (2.9.3) in the paper. Also beware that, although Molecule is used in several (successful) proof of concepts at work and that it has proven to be stable for several months now, it has never been used outside research context. If you want to start a discussion or if you have questions on the library, don't hesitate to drop us a word either using our email address or on the project's mailing list.

Enjoy!
Sébastien & Koen
Reply all
Reply to author
Forward
0 new messages