top | item 44939654

Customizing Lisp REPLs

76 points| nemoniac | 6 months ago |aartaka.me

19 comments

order

spauldo|6 months ago

That's a neat idea. But I'm curious how many people actually use native REPLs for anything beyond trivial evaluation.

I'll use a Guile or SBCL REPL for some quick math (assuming it's something that's not trivial in dc) or to test out a quick idea, but I rarely send more than one to three forms before closing it. That's only if I don't have Emacs open where I can just do it in the scratch buffer. Anything that needs more than a couple defuns goes into SLIME or guiser.

So, people who use native REPLs, what do you do with them?

cosmos0072|6 months ago

> So, people who use native REPLs, what do you do with them?

In my case, I use my interactive shell https://github.com/cosmos72/schemesh every day as login shell.

You can look at it as heavily customized Scheme REPL, where everything not inside parentheses is parsed and executed as shell syntax, and everything inside parentheses is parsed and executed as Scheme syntax.

Having arithmetic and procedure definition within the login shell definitely feels liberating, at least to me

gus_massa|6 months ago

From a few old post by Paul Graham, he used to run Hacker News in the REPL of Arc in the REPL of Racket. So it was posible to make tweaks on the moment, like changing the title to "Innocuous News" as a joke for a few hours. Also, he once changed the parent of one comment and created a cycle in the DAG and that cashed the site for a while. I can't find the article now.

Anyway, a few years ago dang changed the backend to SBCL that is more REPL friendly, so I guess this comment is showed using the REPL of Arc in the REPL of SBCL.

pjmlp|6 months ago

Interactive development, and scripting that isn't tied to UNIX CLI culture.

But maybe I am strange, because I got to experience Smalltalk transcript, Oberon REPL, AmigaDOS and REXX, was into XEmacs when there were no UNIX based IDEs to chose from, got to use VB REPL before Microsoft killed it on VB.NET, Alegro Common Lisp, Caml Light,...

And I guess that is why nowadays I am a big Powershell fan, even if it errs on the verbosity side.

It is like having the debugger always turned on, and being able to script the OS as well.

kagevf|6 months ago

If I create an executable with SBCL's save-lisp-and-die then run that executable, it presents a repl. Not really a development scenario, but more of a "running application" scenario. But, even then, if the executable creates a swank server, I can connect to that from SLIME.

nils-m-holm|6 months ago

Loading programs, testing individual functions, examining data. I usually have two windows/consoles open: one for writing code, one for loading and testing.

skydhash|6 months ago

I’ve used the Node REPL to check some asumption about some library. Also the python REPL in Emacs when I was writing some logic heavy script.

lycopodiopsida|6 months ago

If I write lisp, a REPL is always running. Used for testing functions with input and debugging.

eimrine|6 months ago

What a lovely blog!