Can your REPL do this?(whalliburton.github.com) |
Can your REPL do this?(whalliburton.github.com) |
http://dspace.mit.edu/handle/1721.1/6946
http://en.wikipedia.org/wiki/Common_Lisp_Interface_Manager
http://www.sts.tu-harburg.de/~r.f.moeller/uims-clim/clim-int...
(ql:quickload 'clim-listener) (clim-listener:run-listener)
And arbitrary objects can take the role of unique values. It's quite convenient, especially considering that Mathematica's language and display system let you put arbitrary expressions anywhere you want (like a 3D plot animation used as the surface texture of a 3D cube).
http://re-factor.blogspot.com/2010/09/visual-repl.html
I've been meaning to write something like Factor's REPL for Clojure, but haven't gotten around to it yet.
In a heterogeneous mix of tools, getting the channel right is a big part of the challenge. Lots of the interactivity is going to be client-specific (i.e. what's possible / attractive in Eclipse is different from Emacs/vim/TextMate), but the channel underneath is a big enabler.
Would love to hear what you have in mind specifically, if only to see if there's a vector I'm not considering that I should be.
Not that it's bad on itself, but the title suggested otherwise.
https://github.com/whalliburton/academy
Edit: And someone who likes dead prez I certainly got a kick out of the hexagram examples. Haven't seen those for a while.
On another note, it's a pleasure to see a bit of the I Ching in there - in the classic Wilhelm/Baynes edition, no less. It is one of the greatest works of civilization. (As for Wilhelm/Baynes: how a translation of a translation could have turned out so well is a mystery. Putting it beside any other I Ching in English is like comparing a Monet to a daguerreotype.)
In the "Definitions" pane at the top, we define three variables, bruce-lee, energy-blast, and terrible-accident. In the "Interations" pane at the bottom (here's the REPL), we compose them together.
Since there's no link to the actual repo in that document.
To be 100% honest, I'm not sure why a programming language REPL needs to have full data visualization. I may not fully get the idea of REPLs, but it would seem to me that that would be the responsibility of a layer above it to manage data presentation; sophisticated data I would consider to require a domain-specific viewer anyway.
Why? Well, some programs rely heavily on specific data structures that may not be very easy to interact with if you print them out as generic lists or hashtables or whatever. The Slime Inspector is next to useless for things of any complexity.
http://clhs.lisp.se/Body/f_pr_obj.htm
So say you have a object type FOO, you can do this:
(defmethod print-object ((obj FOO) stream)
...)
Now, when you have a FOO on the repl, print-object will be called.Obviously it doesn't provide a drilldown approach and any number of nifty and useful functions.