Pour a Pint of Planck

August 4, 2015

Big news: Planck is now available via Homebrew!

Just brew install planck and you are good to go!




Thanks to Derek Slager for his help and persistence in making this possible!

The primary challenge was getting things so that the Homebrew build system can build Planck binaries directly from the source—this is important because it gives it a “blessed” status and a simpler install command (as opposed to brew install homebrew/binary/planck).

To do this, we created a build script and ditched CocoaPods for now as it isn't inherently supported by Homebrew. Of interest, though, is that lein fortunately is.

If you haven't tried Planck yet, give it a try!

The latest enhancements involve adding source-map support for exceptions:

cljs.user=> (ffirst 1)
1 is not ISeqable
	cljs$core$seq (cljs/core.cljs:1067:36)
	cljs$core$first (cljs/core.cljs:1076:16)
	cljs$core$ffirst (cljs/core.cljs:1514:11)

and readline support. Planck now keeps a persistent history of commands with the usual up-arrow, down-arrow, and line editing capabilities, etc., and entering multi-line forms is a little nicer:

cljs.user=> (filter odd?
       #_=>   (map #(* % %)
       #_=>     (range 10)))
(1 9 25 49 81)
cljs.user=> 

There is also tab-completion: Type part, hit the tab key and it will complete to partial. Tab completion is hooked into the compiler analysis metadata, so feel free to do this:

cljs.user=> (def supercalifragilisticexpialidocious "atrocious")
#'cljs.user/supercalifragilisticexpialidocious

Then sup, followed by tab does exactly what you want.

I'm excited Planck is now in Homebrew—ClojureScript continues to extend its reach!

Tags: Planck ClojureScript Bootstrap