#Guix Packager 📦 supports a couple more languages and build systems as of… today!
https://guix-hpc.gitlabpages.inria.fr/guix-packager/

Kudos to Philippe Virouleau for the good hack.

Guix Packager

Generate a Guix package definition interactively.

Someone asked during Café Guix whether we could use Hoot to run bits of Guix such as importers in the browser, which would nicely complement Guix Packager.

I suppose we’re still far from it because of C bindings these modules depend on, such as Guile-Gcrypt and POSIX sockets (for the HTTP client). But maybe someday these interfaces could be implemented in JS/wasm to allow for seamless integration?

@civodul These things should be easily handled by the browser.
@civodul for goblins we're going to need a solution for the guile-gcrypt issue so guix packager won't have to worry about that, at least. hopefully the http client can be cond-expanded to work with web apis without too much trouble.
@civodul And what about the Guile standard library implemented in C? What is under libguile/ say.
@zimoun @civodul anything that's needed either needs a pure scheme implementation or a wasm implementation with a scheme wrapper. we have some stuff now but it's basically r7rs-small plus a few of the more important guile extensions.

@dthompson Right, implementing a subset of (gcrypt …) and (web …) in wasm (or in another language compiled to wasm) should unlock a number of applications.

@zimoun

@civodul @zimoun for goblins we might switch to libsodium compiled to wasm or something, but the same could be done for gcrypt
@dthompson @civodul @zimoun there is work in wasm to support 'components' that will (easily) allow code written in different languages to be compiled to #WASM and used together. a step. Also WASI preview 2 approved ~1 month ago brings access to environment variables, cli args, file system and http . Good times ahead IMO. Components might come Q4 this year or next year, but things are in better shape for doing stuff outside browser.
@ieugen @civodul @zimoun WASI seems useful for the "static languages in non-web, non-gc runtimes" folks but so far it seems irrelevant to what interests me with wasm.

@dthompson Is this « r7rs-small plus a few of the more important guile extensions » released with Guile-Hoot under module/hoot?

https://gitlab.com/spritely/guile-hoot/-/tree/ad2a7bb63b104beb09bf8689576c4e73f1cb8066/module/hoot

Modulo benchmarking and bootstrapping, it could be nice to replace C implementation by pure Scheme directly in libguile. Well, “could be” because integration is a piece of work. :-)

Working on https://simon.tournier.info/posts/2024-02-05-guile-sort I’ve started to think about libguile/list.c and others. Cool if it’s already done. :-)

@civodul

module/hoot · ad2a7bb63b104beb09bf8689576c4e73f1cb8066 · spritely / Guile Hoot · GitLab

GitLab.com

GitLab
@zimoun @civodul yeah the (hoot ...) namespace is where all of that stuff is right now. this namespace mixes the standard library with the compiler currently so we'll be splitting it up soon.