OMOP Ported to Opal on top of Pharo 3
To prepare some experiments with Pharo’s new compiler infrastructure and a simple AST interpreter, I ported my implementation of the Ownership-based Metaobject Protocol (OMOP) to the Pharo 3. Loading the OMOP into an image will give you an STM implementation, a basic actor system, communicating sequential processes, Clojure-like agents, and active objects. Eventually, the goal is to provide a more extensive set of such concurrent programming mechanisms on top of the OMOP, but for now these five should already give an impression of how the OMOP itself works.
To try it out, it can be loaded into a recent Pharo 3 image with the following code snippet:
Gofer new squeaksource3: 'Omni'; configuration; load. (Smalltalk classNamed: 'ConfigurationOfOmni') load: #(ST Isolate)