Edsger - a handwritten Clojure REPL for the reMarkable 2

https://handwritten.danieljanus.pl/2026-06-01-edsger.html

#Clojure #OpenSource #REPL

handwritten.danieljanus.pl: Edsger – a remarkable Clojure REPL

An actual Clojure REPL running on my reMarkable 2

RE: https://fosstodon.org/@tarsius/116643132796222151

In 1990 Dr. Peter Lee's 15-212 course at #CarnegieMellon introduced me to Scheme. It's also when I first came to comprehend the power of #Emacs and #EmacsLisp.

In the first hour, Professor Lee demonstrated elegantly that everything is a list: data are lists and programs are lists. Every list returns a value, and functions are just lists that do calculations! Functions can return lists, of course, and so you can write functions that return functions!

I ran to the lab to hack Lisp: it wasn't in your pocket, it was in a room worth more than your parents' house. Nothing had ever seemed more natural: write, evaluate, repeat. Hack a nugget, nest lists, add parentheses, hack bigger things. But the magic thing where you write code that returns code remained a mystery: we did lots of cool stuff in that course, but we never got to macros.

Until 2026.

The surprise? The surprise is that as each decade passes, I grow to cherish lifelong learning as more and more precious.

#lisp #scheme #repl #macro #cmu

@dubiousdisc wrote:
«The killer feature of Lisps is not macros or structural editing (though those are nice too). The killer feature is REPL-driven development. Writing and testing code are not separate stages; they are intertwined. It's a completely different way to program.»

The latter two sentences are true (we can add exploration to writing and testing).
I don't think that there is a _single_ killer feature, though.
For example, REPLs are available for quite a few languages nowadays, but these languages still don't "feel like" Lisp.

What is usually called homoiconicity is also important, for example, not so much by itself, but by the way it affects directly or indirectly many aspects of using a language.
A lot has been said about homoiconicity, of course, but still, let me add an illustration.
Define a quine as an expression Q in a programming language such that Q is equal to eval(Q).
Obviously, the precise representation of Q and the precise notion of equality will be language-dependent.
Now, compare a quine (in the above sense) in a Lisp to a quine in Python.

With regards to another aspect of the big topic, see also an old paper by Guy Steele called Growing a Language (or Making a Language that Can Grow, or something like that).

#ComputerProgramming
#GrowingALanguage
#Homoiconicity
#Lisp
#Programming
#ProgrammingLanguages
#Quines
#ReadEvalPrintLoop
#REPL

I am really enjoying the #repl though. A different way of being and building. It's been a long time.

So I’m designing a new #GUI toolkit with #REPL built-in, heavy on #UNIX philosophy and shell integration. Inspired by ed(1), of course. But I need to stress-test this design against possible use-cases for such a GUI. What are the small GUI apps you use daily or want to have that’d benefit from a really simple custom GUI you can hack up in an hour?

So far I have:
• Disk flashing utility (I keep forgetting the commands)
• Shell
• Music player

Any other ideas?

#theWorkshop

Every time I want to leave #lisp or #scheme based language I stumble across awesome talk which reminds me why I love it in the first place.

https://fosdem.org/2026/schedule/event/HDE7JZ-lisp-is-clay/

Damn #repl driven development is so damn awesome. Now a days If I need to write some automation scripts I use #babashka lot instead of #bash or #python

FOSDEM 2026 - Lisp is clay: the power of composable DSLs

С Vim удобно программировать (часть II)

Это вторая часть публикации. В первой мы разобрали основные настройки редактора, позволяющие сделать процесс набора программы более удобным. Здесь рассмотрим плагины и скрипты для запуска программ на разных языках из редактора Vim.

https://habr.com/ru/articles/1025124/

#linux #vim #vimrc #bash #diy_или_сделай_сам #repl #ide

С Vim удобно программировать (часть II)

Настройки, плагины и скрипты. 1. Запуск на исполнение текущего файла. inoremap <F5> <Esc>:w:source ~/.vim/ftplugin/run.vim nnoremap <F5> :w:source ~/.vim/ftplugin/run.vim По нажатию...

Хабр

Почему я перестал писать bash-скрипты и написал свой язык

Время от времени мне нужно выполнить примитивный сценарий в терминале, но каждый раз это заканчивается очередным гуглежом «bash iterate each file» или «bash file has string». А что если скрипты в терминале можно было бы писать прямо как поток декларативных мыслей?

https://habr.com/ru/articles/1020728/

#скриптовый_язык #bash #функциональное_программирование #REPL #автоматизация #open_source #Rust #Lisp #Haskell

Почему я перестал писать bash-скрипты и написал свой язык

Вам нужно пройтись по всем файлам в папке, найти те, в которых есть определённая строка, и переместить их в другую директорию. Казалось бы — 30 секунд работы. Вы открываете терминал, начинаете писать…...

Хабр
Whistler: Live eBPF Programming from the Common Lisp REPL

Writing, compiling, loading, and querying eBPF programs in one Lisp form.

REPL Yell!
🌗 GitHub - gcv/julia-snail:Emacs 的 Julia 開發環境
➤ 為 Emacs 使用者打造的高效 Julia 交互式開發環境
https://github.com/gcv/julia-snail
Julia Snail 是一套專為 Emacs 設計的 Julia 開發與 REPL 互動套件。其開發理念致敬了 Common Lisp 的 SLIME 與 Clojure 的 CIDER,旨在為 Julia 提供高效、靈活的交互式開發體驗。Snail 利用高效能終端模擬器(vterm 或 Eat)來呈現原生 REPL,有效解決了傳統 Emacs 緩衝區顯示異常的問題。透過與 Emacs 原生 xref 系統、自動補全機制及 CSTParser 的深度整合,開發者能更直觀地執行程式碼載入、定義跳轉及符號補全,實現無縫的開發工作流。
+ 終於有像 CIDER 那樣的工具了!對於習慣在 Emacs 裡寫 Clojure 的人來說,Julia Snail 讓切換語言變得輕鬆不少。
+ 雖然安裝 v
#Emacs #Julia #軟體開發 #開源工具 #REPL
GitHub - gcv/julia-snail: An Emacs development environment for Julia

An Emacs development environment for Julia. Contribute to gcv/julia-snail development by creating an account on GitHub.

GitHub