Experiments using Red Planet Labs' Rama with Clojure. Based on the tutorial and rama-examples.
Run Hello World example:
clojure -M -m rama-playground.hello-world
Run Word Counter example:
clojure -M -m rama-playground.simple-word-count
Troubleshooting:
If you include more libraries and encouter Execution error (IllegalArgumentException) at org.objectweb.asm.Type/getTypeInternal
or Failed to generate constants class
exceptions when running examples, there is likely a dependency which pulls in incompatible version of org.ow2.asm/asm
. Run clojure -Stree
and search for org.ow2.asm/asm
to diagnose.
A known examples causing issues are morse or aws-api which both depends on core.async.
The issue is that core.async
depends on tools.analyzer.jvm
which pulls in org.ow2.asm/asm
version 9.2, whereas Rama depends on version 4.2.
This got fixed in Rama v0.9.2 by shading the asm library so it won't conflict.