unrepl

discussing specification of an edn-based repl and its implementations.
cgrand 2017-06-01T14:11:04.965759Z

@plexus any takeaway from your talk (eg something similar in another lang etc.)?

plexus 2017-06-01T14:12:01.988514Z

@cgrand not really, people were interested though, several clojure peeps in the audience. There should be video at some point

plexus 2017-06-01T14:12:26.998453Z

Also made some improvements to the emacs client, will push them somewhere soon :)

cgrand 2017-06-01T14:13:50.031252Z

ellision support?

plexus 2017-06-01T14:15:18.066200Z

no, not that 🙂 but support for evaluating forms from a buffer

plexus 2017-06-01T14:15:46.077269Z

there was one interesting question/use case. Say you have some complicated code, and you have some (prn ,,,) in the middle to inspect some intermediate values

plexus 2017-06-01T14:16:29.094486Z

your repl/tooling can pretty format the final result of an expression and let you drill down into it etc, but these intermediate things will just be strings

plexus 2017-06-01T14:16:49.102555Z

could unrepl provide a way for your code to send extra values back to the repl/tooling

plexus 2017-06-01T14:16:58.105929Z

e.g. some kind of (unrepl/pprint ,,,)

cgrand 2017-06-01T14:17:45.124708Z

yes

cgrand 2017-06-01T14:17:59.130340Z

I even had it working at some point.

cgrand 2017-06-01T14:18:05.132940Z

It’s called logging.

plexus 2017-06-01T14:18:27.141750Z

ah yes, I saw the logging thing, I thought it had more to do with traditional log file style logging

cgrand 2017-06-01T14:20:08.182662Z

See this example

cgrand 2017-06-01T14:20:11.184164Z

(timbre/log :info “a” (range))
[:echo {:from [14 1], :to [15 1]} 12]
[:started-eval {:actions {:interrupt (unrepl.repl/interrupt! :session329 12), :background (unrepl.repl/background! :session329 12)}} 12]
[:log [:info “user” #inst “2017-04-04T14:56:56.574-00:00” “a” (0 1 2 3 4 5 6 7 8 9 <#C4C63FWP5|unrepl>/... {:get (unrepl.repl/fetch :G__3948)})] 12]
[:eval nil 12]

cgrand 2017-06-01T14:20:25.190324Z

you have an elision right in the log message

plexus 2017-06-01T14:21:40.220578Z

ok very cool!

plexus 2017-06-01T14:47:06.850630Z

https://github.com/plexus/unrepl.el

plexus 2017-06-01T14:47:26.858970Z

also added since the first version: now it actually does the upgrading (sends the blob)

plexus 2017-06-01T14:50:59.947854Z

BDD!

plexus 2017-06-01T14:52:31.987346Z

added some instructions to the README in case anyone wants to try it out.

dominicm 2017-06-01T14:53:25.010341Z

Mr Blobby was killed on a project I worked on. Don't put blobs in your db people!

cgrand 2017-06-01T15:18:54.661153Z

a “blobs are people too” sticker?

dominicm 2017-06-01T15:19:08.666618Z

people? 😛

cgrand 2017-06-01T15:19:33.677239Z

fixed thanks

cgrand 2017-06-01T15:20:40.705451Z

BDD for Blob Driven Dev is cool (and reminds me of TDD (Talk Driven Dev))

cgrand 2017-06-01T15:27:35.878607Z

@plexus the first example (with JAVA_OPTS seems wrong as it still refers to unrepl

plexus 2017-06-01T16:08:43.890559Z

Ah you're right I just copied the first thing I found in my shell history