planck

Planck ClojureScript REPL
johanatan 2016-07-01T00:06:56.000667Z

I learned a lot about lldb, javascriptcore, etc.

johanatan 2016-07-01T16:17:31.000668Z

@mfikes: did you try out sh-async before merging that PR?

mfikes 2016-07-01T16:17:49.000669Z

I tried it after merging. Worked for me.

johanatan 2016-07-01T16:21:06.000670Z

Nice!

johanatan 2016-07-01T16:22:31.000671Z

On Linux I assume?

mfikes 2016-07-01T16:24:13.000672Z

No. I tried it on OS X

johanatan 2016-07-01T17:01:16.000673Z

@mfikes: do you think that sh-async is enough to warrant another release of planck 2.0?

mfikes 2016-07-01T17:01:35.000674Z

Sure… I can put out a beta 3

mfikes 2016-07-01T17:01:58.000675Z

Sorry, alpha 3

johanatan 2016-07-01T17:02:05.000676Z

cool

johanatan 2016-07-01T17:05:42.000677Z

btw, make is failing locally for me.

johanatan 2016-07-01T17:06:03.000679Z

any idea on that?

mfikes 2016-07-01T17:18:12.000680Z

@johanatan: I’d suggest doing a script/clean at the top. My only guess is it needs to build the ClojureScript compiler afresh given that I’ve set it to build a specific commit hash.

johanatan 2016-07-01T17:50:38.000681Z

👍:skin-tone-3:

johanatan 2016-07-01T17:57:54.000682Z

That worked.

johanatan 2016-07-01T21:16:09.000683Z

@mfikes: not sure if you're aware of this or if it is specific to me but:

Jonathans-MacBook-Pro:screencap jonathan$ brew install --HEAD planck 
==&gt; Cloning <https://github.com/mfikes/planck.git>
Updating /Users/jonathan/Library/Caches/Homebrew/planck--git
==&gt; Checking out branch master
==&gt; ./script/build-sandbox
Error: No such file or directory - build/Release/planck

mfikes 2016-07-01T21:22:56.000684Z

Yeah… for now you’ll unfortunately need to do brew edit planck and then add

depends_on “maven" =&gt; :build
(This is because I have Planck currently depending on building its own ClojureScript compiler.)

johanatan 2016-07-01T21:23:39.000685Z

i just ended up doing: build/script on a cloned copy of the src and copying the bin over to /usr/local/bin

johanatan 2016-07-01T21:54:52.000686Z

@mfikes: i'm not a huge fan of code/information repetition. would you be opposed to merely surfacing the original docstring on sh-internal from both sh and sh-async ?

mfikes 2016-07-01T21:55:31.000687Z

No… if there’s a way

johanatan 2016-07-01T21:55:45.000688Z

Ok, I think there should be. I'll look into it.

mfikes 2016-07-01T21:56:08.000689Z

(Also consider that 1.x still has the non-async version.)

johanatan 2016-07-01T21:58:39.000690Z

So, this works:

cljs.user=&gt; (def doc-string "doc string")
#'cljs.user/doc-string
cljs.user=&gt; (def ^{:doc doc-string} a nil)
#'cljs.user/a

johanatan 2016-07-01T21:59:17.000691Z

[how do you get planck to print out the docstring for a var tho? (just to verify that it actually did take effect)]

mfikes 2016-07-01T21:59:39.000692Z

doc

johanatan 2016-07-01T22:00:04.000693Z

Oh, dang it.

johanatan 2016-07-01T22:00:17.000694Z

cljs.user=&gt; (doc a)
re-find must match against a string.
	cljs.core/re-find (cljs/core.cljs:9076:12)
	planck.repl/undo-reader-conditional-whitespace-docstring (planck/repl.cljs:2373:38)
	planck.repl/doc* (planck/repl.cljs:2736:3)

johanatan 2016-07-01T22:00:21.000695Z

Looks like that might be a bug tho

johanatan 2016-07-01T22:00:32.000696Z

i.e., ^{:doc "blah"} may not work either

johanatan 2016-07-01T22:01:09.000697Z

Nope, this works:

cljs.user=&gt; (def ^{:doc "blah"} c nil)
#'cljs.user/c
cljs.user=&gt; (doc c)
-------------------------
cljs.user/c
  blah
nil