Paris: Guix@Paris, Le jeudi 17 avril 2025 de 19h00 à 22h00. https://www.agendadulibre.org/events/32363 #guix #guile #logicielsLibres #rencontreMensuelle
Una scusa per provare "Framamèmes"
https://framamemes.org/
#meme #dev #scheme #racket #guile #guilescheme
Streaming about testing library for Scheme, NLnet grant, its integration into Arei/Ares Guile IDE and some library architecture design thoughts in a couple hours. It's inspired by clojure.test and junit, but still quite schemy.
The next time libcucks start defending NixOS, read this, dipshits. NixOS is associated, and some way or another, backed by Palantir and Anduril.
I have a blog and yet I keep making repositories like this one: https://codeberg.org/trevdev/guile-playground
I really should just write these things down in a blog. Anyway, I've decided to commit fun things that I script with #guile
CC: @gemlog because of course the first and only example I have so far is our favorite script
I find it a bit ironic: I can't write a Scheme macro, which pre-evaluates arguments for arbitrary form. Because I can't determine if form is a macro or procedure application and thus can't handle those use cases differently.
The #guile #lsp server just landed to #guix.
https://codeberg.org/guix/guix-mirror/commit/ed325ce878
guix install guile-lsp-server
Happy hacking !
I always find myself split when I look at the #guix home page https://guix.gnu.org. I feel like it 1) misses selling the declarative/functional/transactional power of #guix, 2) misses selling #guix as an open system as well as supporting pure-#gnu installations, and 3) don't like to see the embedded domain-specific languages thing as the selling point is that #guile is a general-purpose, infinitely powerful configuration mechanism. I'm also not a big fan of the spaced-out feel of the site.
I keep learning a lot about Scheme hygienic macros and macroexpander and today we talked about using macro as identifiers in arbitrary position of s-expression, syntax parameters, variable transformers and identifier-syntax helper.
On today's Crafter Hours stream, we'll continue working on porting over the Discourse Single-Sign On authentication that I implemented in JavaScript for another version of the System Crafters site.
Let's see how things look when we reimplement this in Guile Scheme!
Join us here:
- https://youtube.com/live/OFBCZ1uMBWk
- https://twitch.tv/SystemCrafters
On today's Crafter Hours stream, I'll show some progress I made on hosting both the emacspackages site and the new Guile-backed System Crafters site on the same Guix server.
I kinda made a mess with it though, so we'll have to find our way out of that, too :)
Join us here:
- https://youtube.com/live/OITQtQnz9X8
- https://twitch.tv/SystemCrafters
TIL: There is an identifier-syntax macro that you can use to implement syntax-id-rules or do other fancy macro stuff.
Online #Guix Social meetup in about 45 mins. Link for the call:
https://meet.jit.si/london-guix-meetup
Giacomo will be giving a talk about running services (#Forgejo in particular) in Guix's declarative configuration system, with Gocix. https://github.com/fishinthecalculator/gocix
See you in a bit!
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.
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.
And here's more info on the 26th March talk I was referring to in my previous toot:
https://mastodon.social/@futurile/114218113438819212
You can't miss it!
#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
It's double #GuixSocial absolute fun this week! #SaveTheDate
- Wed 26th March 6pm GMT: remote event with a *fantastic* talk (details to be revealed soon!)
- Fri 28th March 6pm GMT: in-person event in #London (EC4A 4AB). Join us for an evening of #Guix, #Guile, and Free Software hacking and chit-chat. Bring your own device if you fancy demoing something or for some hands-on hacking.
More info: https://libreplanet.org/wiki/Group:Guix/GuixSocial
/cc @futurile
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.