10 ms·
Can your REPL do this?
- darklajid 15y agoI didn't find a decent/direct way to get to the code itself. This seems to be the repository that is mentioned/used in that text: https://github.com/whalliburton/academy 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. https://en.wikipedia.org/wiki/Dead_Prez https://en.wikipedia.org/wiki/Dead_Prez
- yvdriess 15y agoWell I learned something new. SBCL and CLISP seem to have good unicode support that work well with emacs+slime.
- deleted 15y ago[deleted]
- colanderman 15y agoI don't get this. Someone wrote a bunch of cute Lisp functions that use Unicode and put them on a webpage?
- whateverer 15y agoYes, it was pretty artistic as far as programs linked on Hacker News go, but technically... it was just a bunch of functions and macros which produced formatted strings. Not that it's bad on itself, but the title suggested otherwise.
- funkah 15y agoIt's "pretty" and "clever", not actually useful to actual human beings. You know how nerds can be, sometimes.
- cldwalker 15y agoAgreed. This has little to do with what their repl can do and is mostly a bunch of functions with their output.
- weavejester 15y agoFactor's REPL can handle images, colours and fonts: http://re-factor.blogspot.com/2010/09/visual-repl.html 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.
- reader5000 15y agoAlso animations. Pretty easy to do with swing-based repls, not so sure with others.
- cemerick 15y agoWorking on it: http://cemerick.com/2011/10/26/enabling-richer-interactions-in-the-clojure-repl/ 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 to see if there's a vector I'm not considering that I should be.
- weavejester 15y agoI 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.
- rryan 15y agohttps://github.com/whalliburton/academy https://github.com/whalliburton/academy Since there's no link to the actual repo in that document.
- fbomb 15y agoWow. TRS-80 graphics.
- d0mine 15y agoRacket http://docs.racket-lang.org/quick/index.html http://docs.racket-lang.org/quick/index.html
- mtraven 15y agoStill 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://dspace.mit.edu/handle/1721.1/6946 http://en.wikipedia.org/wiki/Common_Lisp_Interface_Manager http://en.wikipedia.org/wiki/Common_Lisp_Interface_Manager http://www.sts.tu-harburg.de/~r.f.moeller/uims-clim/clim-intro.html http://www.sts.tu-harburg.de/~r.f.moeller/uims-clim/clim-int...
- draven 15y agoThere's a listener written with McClim that's easily installable with quicklisp. It's the one captured in the wikipedia article screenshot actually. (ql:quickload 'clim-listener) (clim-listener:run-listener)
- tokipin 15y agoDo you know if Mathematica does what you're describing? Mathematica functions and calculations can take arbitrary objects as arguments. Example: http://blog.wolfram.com/2008/12/01/the-incredible-convenience-of-mathematica-image-processing/ http://blog.wolfram.com/2008/12/01/the-incredible-convenienc... 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).
- gatlin 15y agoI think [Racket][1] does this. [1]: http://racket-lang.org http://racket-lang.org
- omaranto 15y agoHere is a direct link to a tutorial that shows off graphics in the Racket REPL: http://docs.racket-lang.org/quick/index.html http://docs.racket-lang.org/quick/index.html
- ruediger 15y agoI 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.
- raldi 15y agoYes. It was called BASIC and it came with my IBM PC XT in 1985.
- gruseom 15y agoSomebody showed me some shit Mathematica can do (by way of embedding images and live representations of data) that goes way beyond this and any other Lisp REPL I've seen, so let's not get too smug. 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.)
- pnathan 15y agoI rarely use the REPL directly in Lisp anymore, I use the Superior Lisp Interaction Mode for Emacs, better known as SLIME. emacs had a project running for a while for video editing. It also has a working google maps embedding. I'm sure with appropriate whacking I could intertwine it with a Lisp listener instead of my IDE.
- gruseom 15y agoSlime is a Lisp REPL. It's the one I was thinking of. Yes, people have dabbled around the edges adding images and other things that Emacs can do. But that isn't the same thing as a REPL designed with data visualization in mind. Lisp is not the state of the art here.
- pnathan 15y agoGranted. 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.
- gruseom 15y agoI 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 responsibility of the custom printer, not the REPL itself, but I wish the REPL would make it easy to build such extensions. Little domain-specific visualizers. 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.
- anon_d 15y agoThis is actually pretty cool. Shame about the title.
- deltasquared 15y agoTo run the demos from SBCL: (require 'asdf) (asdf:operate 'asdf:load-op 'academy) (in-package :academy) (help)
- omaranto 15y agoJust to make sure I understand: in "Can your REPL do this?" the word "this" refers to printing Unicode characters, right?
- brutol 15y ago(let ((i0 (parse-integer "4DF0" :radix 16))) (loop for i from i0 to (+ i0 300) do (princ (string (code-char i))))) ䷰䷱䷲䷳䷴䷵䷶䷷䷸䷹䷺䷻䷼䷽䷾䷿一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟丠両丢丣两严並丧丨丩个丫丬中丮丯丰丱串丳临丵丶丷丸丹为主丼丽举丿乀乁乂乃乄久乆乇么义乊之乌乍乎乏乐乑乒乓乔乕乖乗乘乙乚乛乜九乞也习乡乢乣乤乥书乧乨乩乪乫乬乭乮乯买乱乲乳乴乵乶乷乸乹乺乻乼乽乾乿亀亁亂亃亄亅了亇予争亊事二亍于亏亐云互亓五井亖亗亘亙亚些亜亝亞亟亠亡亢亣交亥亦产亨亩亪享京亭亮亯亰亱亲亳亴亵亶亷亸亹人亻亼亽亾亿什仁仂仃仄仅仆仇仈仉今介仌仍从仏仐仑仒仓仔仕他仗付仙仚仛仜仝仞仟仠仡仢代令以仦仧仨仩仪仫们仭仮仯仰仱仲仳仴仵件价仸仹仺任仼份仾仿伀企伂伃伄伅伆伇伈伉伊伋伌伍伎伏伐休伒伓伔伕伖众优伙会伛伜 NIL
- adobriyan 15y ago#x4DF0
- gcr 15y agoDrRacket'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 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.