The fastest Clojure REPL in the world09 Nov 2016
Just got ClojureScript -> Native EXE working via Node's nexe. Nice.— Craig Andera (@craigandera) September 22, 2016
Being a big fan of Mike Fikes’s Planck, its instant startup and scripting capabilities, I was intrigued to validate the idea that we could have something similar for the Node.js platform. Whether we like it or not, Node.js’s NPM is the largest and fastest growing package ecosystem today. Seamless interoperability with NPM plays a huge part in extending ClojureScript’s reach even further. And as it turns out, this is possible today.
Lumo is a fast, standalone ClojureScript REPL that runs on Node.js and V8. Thanks to V8’s custom startup snapshots, Lumo starts up instantaneously, making it the fastest Clojure REPL in existence 1. Here’s a rundown comparison of Clojure, Planck and Lumo’s startup times.
Oh, and did I mention Lumo is cross-platform? Here’s a screenshot of it happily running on Windows:
Peeking into the future
Lumo is not complete by any means. The initial release has a substantial set of features
(while we work on setting up a documentation website, you can get a notion of these
lumo -h or
lumo --help), but many more are expected to arrive in
the near future. Among these are ergonomic additions such as cursor hopping, pretty
printing and colored output, as well as idiomatic ClojureScript wrappers for Node’s
APIs, such as performing I/O calls, spawning child processes and more.
Lumo is free and open source. I think it can serve numerous purposes, many of which I’m unable to predict. I also think that’s a good thing. If you want to try it out, there are standalone binaries for Mac, Windows and Linux here. Be sure to let me know what you think! I’m @_anmonteiro on Twitter.
I’m curious to learn how you will use Lumo. Thanks for reading!
Thanks to Mike Fikes for reading a draft of this post.