If you go to this branch:
https://codeberg.org/kakafarm-lisp-game-jam/shmendric-melabane/src/branch/why-cant-i-import-srfi-1-unfold
(here the repository worktree directory is named 2025-05-09-lisp-game-jam
)
and run the commands as follows, you get this weird error:
yuval@computor:~/foo/2025-05-09-lisp-game-jam$ ./shell
yuval@computor ~/foo/2025-05-09-lisp-game-jam [env]$ make
rm -vf target/reflect.js target/reflect.wasm target/wtf8.wasm
guild compile-wasm -L modules --bundle -o target/game.wasm game.scm
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /gnu/store/w2grdcjmwg3likhg9as0k870z0w1lf60-profile/bin/guild
;;; WARNING: compilation of /gnu/store/w2grdcjmwg3likhg9as0k870z0w1lf60-profile/bin/guild failed:
;;; failed to create path for auto-compiled file "/gnu/store/w2grdcjmwg3likhg9as0k870z0w1lf60-profile/bin/guild"
Backtrace:
In hoot/library-group.scm:
1035:17 19 (foldts #<tree-il (seq (define input-values-east (lambd?>)
1035:17 18 (foldts #<tree-il (seq (define set-input-values-pointer?>)
1035:17 17 (foldts #<tree-il (seq (define input-values-pointer-loc?>)
1035:17 16 (foldts #<tree-il (seq (define set-input-values-pointer?>)
1035:17 15 (foldts #<tree-il (seq (define input-values-pointer-pre?>)
1035:17 14 (foldts #<tree-il (seq (define make-input-values (let (?>)
1035:17 13 (foldts #<tree-il (seq (define *previous-input* (call (?>)
1035:17 12 (foldts #<tree-il (seq (define *current-input* (call (t?>)
1035:17 11 (foldts #<tree-il (seq (define *player* (const #f)) (se?>)
1035:17 10 (foldts #<tree-il (seq (define *enemies* (const ())) (s?>)
1035:17 9 (foldts #<tree-il (seq (define make-new-game (lambda ((?>)
1035:17 8 (foldts #<tree-il (define make-new-game (lambda ((name ?>)
1035:17 7 (foldts #<tree-il (lambda ((name . make-new-game)) (lam?>)
1035:17 6 (foldts #<tree-il (lambda-case ((() #f #f #f () ()) (se?>)
1035:17 5 (foldts #<tree-il (seq (set! (toplevel *player*) (call ?>)
1035:17 4 (foldts #<tree-il (set! (toplevel *enemies*) (call (top?>)
1035:17 3 (foldts #<tree-il (call (toplevel length) (call (toplev?>)
1035:17 2 (fold-values #<procedure foldts (tree)> (#<tree-il (ca?>))
1035:17 1 (foldts #<tree-il (call (toplevel unfold) (lambda () (l?>)
1097:27 0 (_ _)
hoot/library-group.scm:1097:27: unbound top-level #("game.scm" 135 27) unfold
make: *** [Makefile:12: target/game.wasm] Error 1
I cannot import unfold
from (srfi srfi-1)
. I have to copy and paste its GNU Guile implementation manually, and that is not good, I think.
What should I do to fix it?