Anyone know of a #scheme implementation that works on rpi Pico or similar hardware? Why should python people have all the robot fun?
I wanted to make a game in scheme for the Autumn #lispgamejam . Last time I did it in #guile (using raylib bindings), but distributing the binary was not great.
This time I wanted to make something for the browser. Taking advantage that I'm currently working with #emscripten I went ahead and tried to create my own game engine using #scheme
I'm making progress and I'm able to render something! I hope I can have something ready for the jam

👋 Hello! GNU Guix is on @hachyderm - yay!
If you haven't heard of #gnu #guix we're a free software project that's created a hosted package manager (think homebrew or flatpak) and a GNU/Linux distribution.
GNU Guix uses the functional packaging approach pioneered by #nix and adds a user-experience and system configuration system. It uses a DSL that's based on Guile Scheme. You can use it configure your home environment, dev environments or the entire system using a declarative and transactional definition.
We hope to tell people about the project and our latest news. We'd love to engage with people around #freesoftware #guile #scheme and more general #linux topics!
👋 Hello! GNU Guix is on @hachyderm - yay!
If you haven't heard of #gnu #guix we're a free software project that's created a hosted package manager (think homebrew or flatpak) and a GNU/Linux distribution.
GNU Guix uses the functional packaging approach pioneered by #nix and adds a user-experience and system configuration system. It uses a DSL that's based on Guile Scheme. You can use it configure your home environment, dev environments or the entire system using a declarative and transactional definition.
We hope to tell people about the project and our latest news. We'd love to engage with people around #freesoftware #guile #scheme and more general #linux topics!
Hi! I'm new to this instance and to Mastodon in general, I'm here mostly talk to new people about my interests and theirs.
Some of my interests include:
#music #programming, #lisp (and #scheme) and #videogames.

Guile Hoot IDE. My grant proposal for #nlnet, I didn't have much time to prepare it carefully this year, but I guess the primary ideas should be clear.
@cwebber, @dthompson, @wingo how it looks? :)

The 2025 edition of the Autumn Lisp Game Jam begins on Halloween! 👻 🎃 Mull some cider, warm up your REPL by the fire, and make a little game with your favorite Lisp dialect!
Sign up for the jam now over on itch.io: https://itch.io/jam/autumn-lisp-game-jam-2025
Guile Hoot IDE. My grant proposal for #nlnet, I didn't have much time to prepare it carefully this year, but I guess the primary ideas should be clear.
@cwebber, @dthompson, @wingo how it looks? :)

How to write a search engine in 250 lines of scheme (with tests) https://amirouche.bearblog.dev/a-search-engine-in-250-lines-of-scheme/
It is most likely portable to #guile, and #chibi #scheme
boost, questions, and feedback welcome!
NB: Yes I will write a new search engine at the state of "my art" 😘
How to write a search engine in 250 lines of scheme (with tests) https://amirouche.bearblog.dev/a-search-engine-in-250-lines-of-scheme/
It is most likely portable to #guile, and #chibi #scheme
boost, questions, and feedback welcome!
NB: Yes I will write a new search engine at the state of "my art" 😘
@screwlisp The origin of Scheme (AIM-349) was Sussman & Steele trying to make an Actors implementation, and it turned out that was just lambda with closures. So a common way to make Scheme objects is:
(define (make-actor data)
(let ((data data))
(lambda (msg . args)
(case msg ...) )))
And you might have the final else report all usage as an error, so the user doesn't have to read the code to figure out how to use it.
#scheme #gofai
The 2025 edition of the Autumn Lisp Game Jam begins on Halloween! 👻 🎃 Mull some cider, warm up your REPL by the fire, and make a little game with your favorite Lisp dialect!
Sign up for the jam now over on itch.io: https://itch.io/jam/autumn-lisp-game-jam-2025

wrote a Gauche #Scheme script to query a #mastodon instance blocklist and save it out to an importable file
(define (blocks domain)
(json-link #"https://~|domain|/api/v1/instance/domain_blocks"))
(define (blocklist domain file)
(call-with-output-file file
(lambda (out)
(for-each (lambda (block)
(write-string (cdr (assoc "domain" block)) out)
(newline out))
(vector->list (blocks domain))))))
wrote a Gauche #Scheme script to query a #mastodon instance blocklist and save it out to an importable file
(define (blocks domain)
(json-link #"https://~|domain|/api/v1/instance/domain_blocks"))
(define (blocklist domain file)
(call-with-output-file file
(lambda (out)
(for-each (lambda (block)
(write-string (cdr (assoc "domain" block)) out)
(newline out))
(vector->list (blocks domain))))))
“Why rewriting Emacs is hard,” by @kana
Yes it is, I can tell you from experience. Of course, I was never under any illusion that it would be easy.
@kana , a.k.a. “Gudzpoz,” wrote a blog post which was shared on Lobste.rs, and they kindly mention my own Emacs clone Schemacs, though they refer to the old name of it “Gypsum” because they are citing my EmacsConf 2024 presentation done before the name changed.
It is a pretty good post going over some of the odd details about how Emacs edits text, e.g. the character range is from 0x0 to 0x3FFFFFF
rather than the Unicode standard range from 0x0 to 0x10FFFF
, issues with using a gap buffer as opposed to a “rope” data structure, attaching metadata (text properties) to strings to render different colors and faces, and issues with Emacs’s own unique flavor of regular expressions in which the =
symbol indicates matching on the point in the buffer. (I did not know about that last one!)
Apparently, they know these things because they are also working on their own clone of Emacs in Java for the JVM called Juicemacs (the name “Juice” upholding the theme of Java-based applications being named after drinks), and I deduce that their approach is to read through the Emacs C source code to ensure better compatibility. This is now the fourth modern Emacs+EmacsLisp clone that is still under active development that I know of, fascinating work!
My approach is to clone Emacs well enough to get it to pass regression tests, and I don’t read the C source code, I do black-box testing (because those tests become regression tests for my own source code).
Also, the goal with the Schemacs project is more to provide a Scheme-based Emacs that is backward-compatible with GNU Emacs. You use Schemacs because you want to program it in Scheme, not Emacs Lisp, but Emacs Lisp is there for you so you can still use your Emacs config. As a result, I will ignore a lot of these fussy details of the GNU Emacs implementation unless it is going to prevent regression tests from passing.
#tech#software#Emacs#GNUEmacs#Schemacs#EmacsLisp#Lisp#Java#Scheme#R7RS#SchemeLang#LispLang#JavaLang