I'm not sure I can trace how I got there, but something had me playing around with GNU Guile (I've always liked the idea of an embeddable Scheme, I just never got around to looking at it closely).
Anyway, Guile is way cooler than I thought -- way more "unix-y" than other Schemes I've known.
But the real surprise was a static site generator -- Haunt (https://dthompson.us/projects/haunt.html) -- and a full-blown web framework -- Artanis (https://artanis.dev/)!
I am so glad both of these things exist.
@libretics ... sistema operativo cuasi-irrompible,
y auto programable funcionalmente con unos pocos ficheros en lenguaje #Scheme (hermano de #Elisp) ?
#gnu #guix
My small overview of "JRM’s Syntax-rules Primer for the Merely Eccentric" paper about Scheme macros and useful tricks for writing them. Difficulty: medium-easy.
mpv https://youtu.be/A2vi3vQ15kM
Paper:
- http://www.phyast.pitt.edu/~micheles/syntax-rules.pdf
- https://hipster.home.xs4all.nl/lib/scheme/gauche/define-syntax-primer.txt
Spoiler: at the end of the paper a minimal scheme evaluator implemented purely with macros.
Lisp & Scheme recap for week 12/2025
https://discu.eu/weekly/lisp/2025/12/
#clojure #lisp #programming #racket #scheme
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
#guix social talk this week by @paulbutgold on self-hosting @forgejo using #oci / #docker #containers
His Gocix project brings the power of declarative configuration to running container services.
Details on the Wiki or register at the Meetup:
- https://libreplanet.org/wiki/Group:Guix/GuixSocial
TIL: There is a syntax-error macro and it throws exception at expand time, rather than runtime. This is really useful to make macro fail early and prevent oopsies during the program execution.
dwl-guile: A Dynamic tiling Wayland compositor configurable in Guile
https://github.com/engstrand-config/dwl-guile
Discussions: https://discu.eu/q/https://github.com/engstrand-config/dwl-guile
What I don’t like:
- some stuff breaks “everything is a list” model
- Common Lisp is not minimal, includes overlapping and legacy stuff
does #scheme address this?
@rzeta0 I would say yes, Scheme sort of addresses those issues.
Scheme’s biggest advantage is that it is minimal enough that you can understand the whole language specification top-to-bottom, inside and out. But that is also it’s greatest drawback: is that it is too minimal to be practical. So for a long time, every single Scheme implementation has a it’s own large and unique set of libraries for solving practical programming problems that were incompatible with other Scheme implementations, making the Scheme ecosystem very fragmented. The Scheme Request for Implementation (SRFI) process is meant to address this fragmentation issue. Fragmentation is still (in my opinion) a pretty big problem, though things are much better than they were 20 years ago.
The R6RS standard, as I understand it, tried to make Scheme more practical, but it started to become too Common Lisp-like in complexity so it was mostly rejected by the Scheme community — with a few notable exceptions, like the Chez Scheme compiler.
The next standard, R7RS, split the language into two parts: “R7RS small,” ratified in 2014, which is more like the original minimal core of the Scheme language, but just a few new features, in particular the define-library
macro, for modularizing parts of Scheme programs into immutable environment objects. Then they took a collection of “SRFIs” and declared them to be part of the “R7RS large” language standard. The full “large” language specification is not yet fully ratified, even 11 years after the completion of R7RS “small,” but I think the SRFIs they have ratified so far already make the latest Scheme standard a very practical language. The final R7RS standard may end up being larger than Common Lisp, but that is fine with me since it can be almost completely implemented in the R7RS “small” Scheme standard.
R7RS “small” Scheme, in my opinion, is a powerful but minimal language that exists to implement other languages, but is still useful in it’s own right as a progeny of Lisp. The “R7RS large” language then adds the useful features of larger languages like Python or Common Lisp as a layer on top of the “R7RS small” language.
The current chair of the R7RS working group is Daphne Preston Kendal, and is often on Mastodon as @dpk . She can tell you if I got anything in this post wrong.
Finally got to chapter 14 of the #lisp course ... people say this is the power of lisp.
So far what I like about lisp:
* simple syntax, so not a lot to learn to read others code
* some constructs hit sweet spot of simple vs general eg DO, COND, LAMBDA
* simple conceptual model (almost everything is a list)
What I don't like (i'm a beginner)
* some stuff breaks "everything is a list" model
* Common Lisp is not minimal, includes overlapping and legacy stuff
does #scheme address this?
Look at what is coming to Scheme ecosystem:
Formal Proofs of Correctness for Hyperbolic PDE Solvers
https://x.com/getjonwithit/status/1902158541839856071
Discussions: https://discu.eu/q/https://x.com/getjonwithit/status/1902158541839856071
What are the best materials on hygienic macros?
I went through the https://www.greghendershott.com/fear-of-macros/
I think I got the basics, but still very puzzled. For example I faced syntax-id-rules in a paper, which is Racket-specific and now I'm curious how to implement the same functionality in non-racket Scheme?
Also, plan to go through
https://mnieper.github.io/scheme-macros/README.html
On today's Crafter Hours stream, we'll split out some of the code we've been building for our project into separate Guile libraries so that they can be used in other projects (like the new systemcrafters.net!)
Let's figure out how to ship multiple libraries from a single repository, all packaged using Guix!
Join us here:
- https://youtube.com/live/XFyGylqEz3Q
- https://twitch.tv/SystemCrafters
Rhombus is ready for early adopters
Discussions: https://discu.eu/q/https://rhombus-lang.org/
Lisp & Scheme recap for week 11/2025
https://discu.eu/weekly/lisp/2025/11/
#clojure #lisp #programming #racket #scheme
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium