#REPL

Sharlatansharlatan
2025-06-10

REPL for Go is available in Guix!
Pull gently and happy hacking.

codeberg.org/guix/guix/pulls/3

Thanks to Maxim Cournoyer


Arjen :emacs: :linux: :nixos:credmp@fosstodon.org
2025-06-09

For me #clojure is like stoic philosophy, leading a simple and humble life in the #repl.

Digital Mark λ ☕️ 🔪 🙄mdhughes@appdot.net
2025-06-09

Everyone: Python is weird, main starts with:
if __name__=="__main__":
main(sys.argv[1:])

Me, side-eye:
(unless (member (program-name) '("chez" "petit" "scheme")) ;; is REPL
(main (command-line-arguments))
)

#scheme #repl

(I also sometimes use (member "--run" (command-line-arguments)) or the like, but program-name is clearer.
Some Schemes call main if you use it as a command-line program, not with load or include, but Chez leaves that up to you. RnRS specs are silent on the issue.)

Karsten Schmidttoxi@mastodon.thi.ng
2025-05-21

#ReleaseWednesday — Extracted & extended the LISP-like DSL from an existing #ThingUmbrella example[1] as new small package for better/direct re-use in other projects:

thi.ng/lispy

The core language is kept intentionally minimal, aimed at simple sandboxed data transformations/derivations, small code snippets/expressions in GUIs or config settings. However, the language is very easy to extend/customize with new functions or control flow constructs etc. Currently, the language is interpreted and has the following builtins (see screenshots). There's no macro support so far (and not sure if that's even desired here)...

[1] The original #HowToThing example browser REPL this was extracted from (and which has now been updated to use the new package):

demo.thi.ng/umbrella/lispy-rep

#ThingUmbrella #Lisp #DSL #FunctionalProgramming #REPL

Screenshot excerpt from the project readme, listing basic core language features...Screenshot excerpt from the project readme, listing basic core language features...
Vassil Nikolovvnikolov@ieji.de
2025-05-14

@amoroso

Yes, a REPL is a treasure.

Probably worth repeating all these points (and more) for the benefit of all those who don't know them yet.

"It’s not clear how to reload code after it has changed."
is a valid point for Python as well.

#InteractiveProgramming
#REPL

2025-05-14

Eric Normand on REPL-driven development in Lisp and other languages:

The REPL accelerates learning by increasing the speed and information richness of feedback.

[...]

Fast, rich feedback is essential to achieving a flow state.

ericnormand.substack.com/p/rep

#repl #lisp #clojure

2025-05-09

Who in the world though it a good idea putting their custom readtables into libraries intended for outside use? I don't want your hash table syntax, I want MINE. Don't pollute the readtable and other aspects of someone else's image if you're providing a library. The library you're making should be portable and clean #CommonLisp, not some unreadable #DSL you use in your #REPL. It's fine in the REPL, but not in libraries. Keep it clean. Simple courtesy.

Not pointing fingers, but everyone doing that shall be ashamed.

#theRant

2025-05-08

An exercise in #pointless activity:
I have #Rexx script which loops as a #REPL, mostly so I can do calculations with greater precision than my calculator*

I just added a Schwarzchild() function to calculate the event horizon of a black hole from its mass in kg.

Utterly pointless, because I can't remember why I added it. Still, it's bound to be useful some day, right? :-)

*digits cost time. How many do you wanna have?

Kevin P. Flemingkevin@km6g.us
2025-04-21

A couple of weeks ago I asked the Fediverse for recommendations about doing async I/O in a Python application which *also* had a REPL-like interface. I got quite a few useful responses, which ended up leading me to Python Prompt Toolkit.

Here is the result: a single-file script with embedded dependencies (thanks to PEP 723 and uv) which opens a serial port, asynchronously writes data to it and reads data from it, all while displaying a prompt and accepting input from the user.

forge.km6g.us/kpfleming/muart-

None of the program's actual functionality is present yet, but having the scaffolding in place makes me happy.

#Python #Async #REPL

2025-04-14

More on #git
Your push can be rejected
since you might be working with
a bot/ person . action .. ( --force-with-lease)
on the same page at the same time or the same remote path and same branch or any such possibility ( unlikely but possible)

then your can
- see the diff bw remote & your local with
git remote branch:branch
or
git diff @{upstream-of-the-remote}

-- Basically when a tool has a feature in all cases for a purpose, you need know howto for any ambiguity which could arise out any sequence of those possible case.
There s no way to have it in advance
and hence a good or bad dev #UX or #repl are so important
eg --porcelain disables the summary's "helpful" habit of simplifying refs/heads in ways that make them ambiguous if you've made a mistake in your config.

N-gated Hacker Newsngate
2025-04-09

👴🖥️ In a world where cloud is the shiny new toy, one brave caveman insists on flexing his mental muscles in the prehistoric 🤦‍♂️. Aditya Athalye's love letter to outdated proves that is a powerful drug, and byte-hoarding is the new hoarding 🦖.
evalapply.org/posts/demo-cloju

Tomáš Znamenáčekzoul@boskovice.social
2025-04-04

I have a #TypeScript codebase that I would love to work with interactively, in a #REPL. What are my options?

Hacker Newsh4ckernews
2025-03-06

Shelgon: A Framework for Building Interactive REPL Shells in Rust — github.com/NishantJoshi00/shel

cryptaxcryptax
2025-03-03

I just discovered Jshell, a Java REPL shell. It's like Python's interactive shell , but in Java ;-)

It's not new. Jshell was introduced in ... Java 9. Shame to me I only learn about it in Java 23!

asciinema.org/a/nKxwuTgFPEeHgL

2025-02-15

Schemesh: A Unix shell and Lisp REPL, fused together

github.com/cosmos72/schemesh

#lisp #repl #shell #opensource

vintage screwlisp accountscrewtape@mastodon.sdf.org
2025-02-14

#programming #commonLisp #emacs #repl versus #orgmode for the #fizzbuzz challenge on #medium.
Using #series #lazyEvaluation
medium.com/@screwlisp/fizzbuzz
I think it ended up pretty interesting, and what you would expect. The repl is a better interactive experience, but the noweb tangle optimizes in ways the separate repl lines can't, and is already in a disk-persisted file.

Looking forward to feedback and commentary ( @ksaj ;p)

Repl output of length 100
- numbers
- (fizz) generalized bools
- (buzz) generalized bools
and a tiny declarative fizzbuzz solution in a lisp repl.
2025-02-10

Your web server having an interactive shell (REPL) where you can live update entries in your site/app’s database is pretty neat (if I do say so myself) :)

kitten.small-web.org/reference

(I’m porting the Small Technology Foundation site¹ from Site.js² – and hence from being a static site generated via Site.js’s integrated Hugo³ – to Kitten⁴. In the process, I’m creating an admin panel⁵ for the news, events, and videos sections, which will make them easier to update, and storing the data in Kitten’s internal JavaScript Database⁶.)

¹ small-tech.org
² sitejs.org
³ gohugo.io/
kitten.small-web.org
⁵ It’s trivial to create authenticated routes in Kitten. You just add a lock emoji (🔒) to the end of your route’s name. e.g., admin🔒.page.js or /admin🔒/index.page.js (see kitten.small-web.org/reference).
codeberg.org/small-tech/jsdb

#Kitten #REPL #shell #JavaScript #database #JavaScriptDatabase #JSDB #SmallTechnologyFoundation #SiteJS #Hugo #web #dev #NodeJS

Screenshot of Kitten’s interactive shell, showing me alterning a database entry in development:

}
  ]

🐱 💬 kitten.db.news[0].link = kitten.db.news[0].postLink

  'https://ar.al/2024/05/23/new-kitten-features-interactive-shell-repl-multi-page-settings-and-backup-and-restore-data-portability/'

🐱 💬 kitten.db.news[0]

  Proxy [
    News {
      link: 'https://ar.al/2024/05/23/new-kitten-features-interactive-shell-repl-multi-page-settings-and-backup-and-restore-data-portability/',
      title: 'New Kitten features: Interactive Shell (REPL), Multi-page Settings, and backup and restore (data portability)',
      date: '2024-05-23',
      image: '',
      summary: 'In this video, Aral demonstrates the new features added to Kitten in May: including the new Interactive Shell (REPL), Multi-page Settings, and backup and restore (data portability).',
      author: 'Aral Balkan',
      sourceName: 'Aral’s Blog',
      sourceLink: 'https://ar.al',
      postLink: 'https://ar.al/2024/05/23/new-kitten-features-interactive-shell-repl-multi-page-settings-and-backup-and-restore-data-portability/',
      presets: 'custom'
    },
    {
      get: [Function: bound getHandler] { boundObject: [DataProxy] },
      set: [Function: bound setHandler] { boundObject: [DataProxy] },
      defineProperty: [Function: bound definePropertyHandler] { boundObject: [DataProxy] },
      deleteProperty: [Function: bound deletePropertyHandler] { boundObject: [DataProxy] }
    }
  ]
2025-02-02

#GodotEngine #REPL #GDScript

Is there a (core) repl in godot yet?

🦇 😔

vintage screwlisp accountscrewtape@mastodon.sdf.org
2025-01-18

(Towards):
A #sidescrolling #textAdventure #game as the host of a Pratt Grammar #Parser:
lispy-gopher-show.itch.io/lisp
#itch #itch_io #gameDev #lisp #commonLisp #repl

Sharpsign lengthy and wandering. Sharpsign happy 2025

Basically, I was having trouble imagining parsing a grammar at all. So I imagined input tokens as a sidescroller level I could cdr-code speedrun passes of. And you know, when lisp people imagine things it happens in real life too.

Screenshot of a SLIME repl in the default emacs whitefield color scheme.
The user is operating in
NUD/USER>
They "clad" a list, embedding it in a circular list with a CURSOR symbol. The CURSOR symbol climbs into a through the input list, popping back out of lists it climbs into when it reaches their end.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst