tendency in classical #Lisp is to use lists to represent everything, and then to browse them “by hand” using ‘car’, ‘cdr’, ‘cadr’, and co. There are several problems with that style, notably the fact that it is hard to read, error-prone, and a hindrance to proper type error reports.

#Glean code should define appropriate data types (for instance, using ‘define-record-type’) rather than abuse lists. In addition, it should use pattern matching, via #Guile’s (ice-9 match) module, especially when matching lists.

@wingo @cwebber @fd9a @boo_@hako @simendsjo

Question for #guile #scheme kings and queens.

I have a module A [(define-module A ….) ] and module B that's code-generated (not macros-way the writing strings to file way) that has [#:use-module A] statement in it.

At some procedure part of module A I want to import and use one variable from module B. I want it to happen only EXACTLY when this branch of code is called.

Is that even possible? Circular dependency = ⚰️ ?

@shegeley @wingo @fd9a @boo_@hako @simendsjo The evil secret version of things is that you can use @@

(define snarfed-variable
(@@ (my-project module-b) snarf-this-variable))

Though of course violating the abstractions of modules, there be dragons.

You might also consider putting a parameter in one module that's set and pulled from there.

In the future #guile on irc.libera.chat or the guile-user mailing lists are better places to ask these things typically!

@wingo @cwebber @fd9a @boo_@hako @simendsjo

Question for #guile #scheme kings and queens.

I have a module A [(define-module A ….) ] and module B that's code-generated (not macros-way the writing strings to file way) that has [#:use-module A] statement in it.

At some procedure part of module A I want to import and use one variable from module B. I want it to happen only EXACTLY when this branch of code is called.

Is that even possible? Circular dependency = ⚰️ ?

Giacomo Leidi
fresco
Giacomo Leidi and 1 other boosted

we're pleased to announce https://guixotic.coop, a new free software cooperative focused on gnu guix and guile cofounded by @podiki, maxim cournoyer and me. we offer services including training, commercial support, development, system administration (CI/CD, HPC), packaging -- in short, everything guix and guile.

our goal is to strengthen & expand the community, bringing in new people and organizations (our clients), supporting development work, and growing the network of organizations supporting these technologies.

could you or an organization you know of benefit from our services? email contact@guixotic.coop or contact us here!

full announcement: https://lists.gnu.org/r/guix-devel/2025-07/msg00113.html

#gnu #guix #guile #lisp #cooperatives

we're pleased to announce https://guixotic.coop, a new free software cooperative focused on gnu guix and guile cofounded by @podiki, maxim cournoyer and me. we offer services including training, commercial support, development, system administration (CI/CD, HPC), packaging -- in short, everything guix and guile.

our goal is to strengthen & expand the community, bringing in new people and organizations (our clients), supporting development work, and growing the network of organizations supporting these technologies.

could you or an organization you know of benefit from our services? email contact@guixotic.coop or contact us here!

full announcement: https://lists.gnu.org/r/guix-devel/2025-07/msg00113.html

#gnu #guix #guile #lisp #cooperatives