Live data from Hacker News

Can your REPL do this?

whalliburton.github.com

31–37 of 37 posts

Re: Can your REPL do this?

#31

Factor's REPL can handle images, colours and fonts: 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.

Working on it: http://cemerick.com/2011/10/26/enabling-richer-interactions-... 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…

I was thinking of using a browser, as you'd get images, tables and so forth for free. The Ace code editor could be used for the prompt, which would provide syntax highlighting and indent rules for the prompt.

Re: Can your REPL do this?

#32
post #12

Still waiting for a REPL that could what Lisp Machines could do in the early 80s -- namely integrate graphics with object-specific behavior. 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...

Why waiting?

Re: Can your REPL do this?

#33
post #12

Still waiting for a REPL that could what Lisp Machines could do in the early 80s -- namely integrate graphics with object-specific behavior. 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...

I wish Emacs would provide a canvas like API to draw in buffers. That way integrated graphics could be easily added. This would create a completely new Emacs experience.

There is an Artist Mode for Emacs. The "pictures" are ASCII-esque ;) http://www.cinsk.org/emacs/emacs-artist.html

Re: Can your REPL do this?

#34

Earlier quoted context omitted.

I wish Emacs would provide a canvas like API to draw in buffers. That way integrated graphics could be easily added. This would create a completely new Emacs experience.

There is an Artist Mode for Emacs. The "pictures" are ASCII-esque ;) http://www.cinsk.org/emacs/emacs-artist.html

I know. But for serious application a real drawing capability is needed. This should actually be possible to implement on top of the GTK+ layer.

Re: Can your REPL do this?

#35
post #29
post #28

Earlier quoted context omitted.

Granted. 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.

I agree with you there, so I guess what I want is a REPL that has hooks for custom printers, i.e to display an object of type X my way instead of the usual way. I'd like "printing" to optionally include graphics or whatever else makes for a good display of that data. And I'd like the representation to be interactive, so that one can drill down into sub-data or whatever else is appropriate. That too (obviously) is the…

I present to you print-object, a generic function in Common Lisp.

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.

Re: Can your REPL do this?

#36
post #27

(let ((i0 (parse-integer "4DF0" :radix 16))) (loop for i from i0 to (+ i0 300) do (princ (string (code-char i))))) ䷰䷱䷲䷳䷴䷵䷶䷷䷸䷹䷺䷻䷼䷽䷾䷿一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟丠両丢丣两严並丧丨丩个丫丬中丮丯丰丱串丳临丵丶丷丸丹为主丼丽举丿乀乁乂乃乄久乆乇么义乊之乌乍乎乏乐乑乒乓乔乕乖乗乘乙乚乛乜九乞也习乡乢乣乤乥书乧乨乩乪乫乬乭乮乯买乱乲乳乴乵乶乷乸乹乺乻乼乽乾乿亀亁亂亃亄亅了亇予争亊事二亍于亏亐云互亓五井亖亗亘亙亚些亜亝亞亟亠亡亢亣交亥亦产亨亩亪享京亭亮亯亰亱亲亳亴亵亶亷亸亹人亻亼亽亾亿什仁仂仃仄仅仆仇仈仉今介仌仍从仏仐仑仒仓仔仕他仗付仙仚仛仜仝仞仟仠仡仢代令以仦仧仨仩仪仫们仭仮仯仰仱仲仳仴仵件价仸仹仺任仼份仾仿伀企伂伃伄伅伆伇伈伉伊伋伌伍伎伏伐休伒伓伔伕伖众优伙会伛伜 NIL

#x4DF0

Re: Can your REPL do this?

#37
DrRacket's REPL supports image literals. The racket language also includes functions for manipulating these. Take a look at this program: http://img13.imageshack.us/img13/6493/drracket.jpg

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.

Post reply on HN