Mandy: ActivityPub on Goblins — Spritely Institute

Now, this is cool! Goblins actors and ActivityPub. Found this via Planet Scheme.

https://spritely.institute/news/mandy-activitypub-on-goblins.html

https://planet.scheme.org/

#scheme #lisp #activitypub

Mandy: ActivityPub on Goblins — Spritely Institute

@ArneBab
Well that's no longer an alist, but a proper list works for me?
(define ls '(1 2 3))
(list-set! ls 0 42)
(display ls) (newline)
=>
(42 2 3)

https://ideone.com/ULE4uy

So I thought maybe it's 2.2.4, nope:

https://glot.io/new/guile

(display (version)) (newline)
(define ls '(1 2 3))
(list-set! ls 0 42)
(display ls) (newline)
=>
3.0.9
(42 2 3)

#scheme

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Ideone.com
♫ There is nothing cooler than a macro
It makes metaprogramming via cells a piece of cake
Create your own mini-language to parse XML,
Rate stocks, stock charts, or balance weasels on a rake! ♫
http://landoflisp.com
#lisp #scheme #music

> johncowan: What do people think of my "immutability redux" issue at
https://codeberg.org/scheme/r7rs/issues/296
<

That seems fine. I do occasionally make mutable structures by '(), so I'd have to change them to list, but that's probably saner anyway.

Like, I do this (but more complex):

> (define ls '((foo . 1) (bar . 2)) )
((foo . 1) (bar . 2))
> (set-cdr! (assoc 'foo ls) 42)
> ls
((foo . 42) (bar . 2))

In this, I'd have to write
(define ls (list (cons 'foo 1) (cons 'bar 2)) )

#scheme

Immutability redux

My current ideas: 1. Any type that has lexical syntax always returns an immutable object when constructed using that lexical syntax. 2. Types that don't have lexical syntax may be constructed using procedures that return mutable or immutable objects. In the cases of pairs/lists, strings, and ve...

Codeberg.org
sigil

Practical Symbolic Power

Codeberg.org

Lightweight and easily extendable / embeddable Lisp dialect with deterministic performance made in Nim. https://github.com/bk20x/M/tree/devel

This is a really fun #scheme #lisp implementation and the author is super cool and loves to talk shop. Been waiting for a lisp/scheme written in for nim c

GitHub - bk20x/M: Lightweight and easily extendable / embeddable Lisp dialect with deterministic performance made in Nim.

Lightweight and easily extendable / embeddable Lisp dialect with deterministic performance made in Nim. - GitHub - bk20x/M: Lightweight and easily extendable / embeddable Lisp dialect with determi...

GitHub

Released Guile-DSV 0.9.0:
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.9.0

In the new version:
"scm->dsv" and "scm->dsv-string" procedures were re-written to use a simple FSM with concurrent processing of table rows.

This gives Guile-DSV much better performance. For example, given a
test table with 1'000'000 rows and 10 columns, "scm->dsv" finished in 55s on
Ryzen 9 5950X w/ 128GB of RAM, while the same task took 3649s on the same
machine when Guile-DSV 0.8.1 is used.

#guile #guile_dsv #scheme #tools

Release v0.9.0 · artyom-poptsov/guile-dsv

Table of Contents Changes in version 0.9.0 (2026-01-06) Improve scm->dsv and scm->dsv-string performance Changes in version 0.9.0 (2026-01-06) Improve scm->dsv and scm->dsv-string performanc...

GitHub

I spent last few days optimizing Guile-DSV (https://github.com/artyom-poptsov/guile-dsv)

For one, I replaced old "DSV builder" with new code based on Guile-SMC; secondly, I also used Guile-Fibers/Threads to better utilize capabilities of modern CPUs.

So here are some results: according to my benchmark, it took around 55s to print 1'000'000 rows, 10 columns table, on Ryzen 9 5950X.

For comparison: it took 3649s for Guile-DSV 0.8.1 to process the same amount of data.

Nice.

#guile #scheme #guile_dsv

A month into having done an #HTML rendering of #Scheme R7RS (https://r7rs.aartaka.me/) I realized that I haven’t translated Alphabetic Index section. And I mean, that might sound like a problem, but… does anyone actually need alphabetic index on the #Web? Feels like such an archaic pre-hypertext thing to do 🤔
Revised^7 Report on the Algorithmic Language Scheme

The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr.​ ​and Gerald Jay Sussman.