Edsger - a handwritten Clojure REPL for the reMarkable 2
Edsger - a handwritten Clojure REPL for the 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.
@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
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?
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
С Vim удобно программировать (часть II)
Это вторая часть публикации. В первой мы разобрали основные настройки редактора, позволяющие сделать процесс набора программы более удобным. Здесь рассмотрим плагины и скрипты для запуска программ на разных языках из редактора Vim.
Почему я перестал писать bash-скрипты и написал свой язык
Время от времени мне нужно выполнить примитивный сценарий в терминале, но каждый раз это заканчивается очередным гуглежом «bash iterate each file» или «bash file has string». А что если скрипты в терминале можно было бы писать прямо как поток декларативных мыслей?
https://habr.com/ru/articles/1020728/
#скриптовый_язык #bash #функциональное_программирование #REPL #автоматизация #open_source #Rust #Lisp #Haskell
Whistler: Live eBPF Programming from the Common Lisp REPL
https://atgreen.github.io/repl-yell/posts/whistler/
#HackerNews #Whistler #eBPF #CommonLisp #REPL #Programming #LiveCoding