REPL for Go is available in Guix!
Pull gently and happy hacking.
https://codeberg.org/guix/guix/pulls/337
Thanks to Maxim Cournoyer
REPL for Go is available in Guix!
Pull gently and happy hacking.
https://codeberg.org/guix/guix/pulls/337
Thanks to Maxim Cournoyer
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))
)
(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.)
#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:
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):
https://demo.thi.ng/umbrella/lispy-repl/
#ThingUmbrella #Lisp #DSL #FunctionalProgramming #REPL
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.
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.
https://ericnormand.substack.com/p/repl-driven-development-and-learning
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.
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?
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.
None of the program's actual functionality is present yet, but having the scaffolding in place makes me happy.
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.
👴🖥️ In a world where cloud #AI is the shiny new toy, one brave #Clojure caveman insists on flexing his mental muscles in the prehistoric #REPL 🤦♂️. Aditya Athalye's love letter to outdated #tools proves that #nostalgia is a powerful drug, and byte-hoarding is the new hoarding 🦖.
https://www.evalapply.org/posts/demo-clojure-workflow-scicloj/index.html #ByteHoarding #HackerNews #ngated
Keeping it Old-Tool: REPL habits of a grug-brained Clojure programmer
https://www.evalapply.org/posts/demo-clojure-workflow-scicloj/index.html
#HackerNews #Clojure #REPL #OldTools #Programming #Habits #GrugBrained #DevCommunity
I have a #TypeScript codebase that I would love to work with interactively, in a #REPL. What are my options?
Shelgon: A Framework for Building Interactive REPL Shells in Rust — https://github.com/NishantJoshi00/shelgon
#HackerNews #Shelgon #Rust #REPL #InteractiveFramework #Programming
Schemesh: A Unix shell and Lisp REPL, fused together
#programming #commonLisp #emacs #repl versus #orgmode for the #fizzbuzz challenge on #medium.
Using #series #lazyEvaluation
https://medium.com/@screwlisp/fizzbuzz-battle-orgmode-versus-the-repl-for-lazy-lisp-series-an-emacs-story-b98f633a20d8
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)
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) :)
https://kitten.small-web.org/reference/#kitten-s-interactive-shell-repl
(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⁶.)
¹ https://small-tech.org
² https://sitejs.org
³ https://gohugo.io/
⁴ https://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 https://kitten.small-web.org/reference/#sessions-and-authentication).
⁶ https://codeberg.org/small-tech/jsdb
#Kitten #REPL #shell #JavaScript #database #JavaScriptDatabase #JSDB #SmallTechnologyFoundation #SiteJS #Hugo #web #dev #NodeJS
(Towards):
A #sidescrolling #textAdventure #game as the host of a Pratt Grammar #Parser:
https://lispy-gopher-show.itch.io/lispmoo2/devlog/870779/a-sidescrolling-game-as-a-pratt-parser
#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.