[ANN] Gorilla REPL 0.2.0 - all new extensible renderer

425 views
Skip to first unread message

Jony Hudson

unread,
Mar 19, 2014, 4:22:57 PM3/19/14
to clo...@googlegroups.com
Hi all,

 I'm happy to announce a new release of Gorilla REPL. The number one comment I got from people on the original release was that it looked good, but they'd like to see it extended to some library or other. Jeff Rose hit the nail on the head with:

"Being able to render values of different types is important, and I think it deserves a lot of attention in both the design and documentation."

So with that in mind, on to the changes:

- All new renderer. This is the main change. The new renderer is simple and predictable, _very_ flexible, supports first-class pluggable custom rendering, and really respects the structure of Clojure values. In particular it renders aggregates of values as you might hope, so you can draw lists of tables, tables of plots, associatives of tables of tables of plots etc. I've made a couple of videos walking through its features, and how easy it is to extend. I'm really pleased with how it's come out :-)


As per the request, there's also documentation on it. Enough to choke a horse!


- You can open multiple tabs on the same REPL. This works really nicely - they each get they own session, but share the REPL.

- Runs a real nREPL server now, so should work together with things like vim-fireplace that make their own connection to the REPL server. (I haven't tested this though!)

- As you might have guessed from the above, there's now a website. http://gorilla-repl.org 

- Numerous small bug-fixes and feature requests.

There are some minor breaking changes, hence the version bump:

- Old worksheets will need to be re-run to regenerate their output.

- Code that dabbled with the internals of gorilla-plot might need to be adjusted.

It's on clojars now, with coordinates [gorilla-repl "0.2.0"] .

The new renderer lays the foundation for adding rendering for other libraries. I'd love to see support for core.matrix and Incanter, so I think this will be the immediate focus of development. If you maintain a library and would like to see it supported, then please do get in touch.

As always, all comments and criticism gratefully received.

[Proof-reading this email, I realise I sound rather pleased with myself. My apologies for that, but in truth I think I _am_ rather pleased with how this version has came together!]

Yours,


Jony

Paul Mooser

unread,
Mar 19, 2014, 6:42:29 PM3/19/14
to clo...@googlegroups.com
This looks great, Jony - I look forward to playing with it soon! 

SteveSuehs

unread,
Apr 14, 2014, 9:00:39 PM4/14/14
to clo...@googlegroups.com
Pretty neat!  I'm playing with it now at the Austin Clojure meetup.

I had to add tools.nrepl to the project dependencies or it couldn't find an nrepl server class.

Andrew Chambers

unread,
Apr 15, 2014, 7:41:52 AM4/15/14
to clo...@googlegroups.com
This is awesome (reminds me of ipython notebooks). I hope to use this to custom render some data structures internal to my compiler project. I'll have to read up on how to render  directed graphs.

Jony Hudson

unread,
Apr 15, 2014, 11:03:33 AM4/15/14
to clo...@googlegroups.com
Thanks for the kind words chaps - glad you like it!

@Steve Are you sure your Leiningen is up to date? I've only seen this problem when accidentally trying to run Gorilla with Lein 1.7 (as Debian seems to have that version as its default install).

@Andrew Probably not what you're looking for, but there should be a renderer for Loom graphs soon, which shells out to GraphViz to do the heavy lifting. Take a look at this PR: https://github.com/aysylu/loom/pull/20 . Even if your data doesn't fit with loom then it might be useful for an idea.

SteveSuehs

unread,
Apr 15, 2014, 11:59:30 PM4/15/14
to clo...@googlegroups.com
I'm running Leiningen 2.1.2 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM

Upgrading now...version 2.3.4
Removed tools.nrepl from project.clj
$ lein gorilla
Gorilla-REPL.
Started nREPL server on port 50235
Ctrl+C to exit.

Looking good!

Andrew Chambers

unread,
Apr 16, 2014, 1:26:33 AM4/16/14
to clo...@googlegroups.com
Is there a way to rerun the whole notebook top to bottom with a hotkey?


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/a1FsteQXhrQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jony Hudson

unread,
Apr 16, 2014, 4:55:15 AM4/16/14
to clo...@googlegroups.com
On Wednesday, 16 April 2014 06:26:33 UTC+1, Andrew Chambers wrote:
Is there a way to rerun the whole notebook top to bottom with a hotkey?

Reply all
Reply to author
Forward
0 new messages