Guile-Reader is a simple framework for building readers for GNU Guile.
The idea is to make it easy to build procedures that extend Guile’s read procedure. Readers supporting various syntax variants can easily be written, possibly by re-using existing “token readers” of a standard Scheme readers. For example, it is used to implement Skribilo’s R5RS-derived document syntax.
Guile-Reader’s approach is similar to Common Lisp’s “read table”, but hopefully more powerful and flexible (for instance, one may instantiate as many readers as needed).
G-Golf (Gnome: (Guile Object Library for)) is a library for developing modern applications in Guile Scheme. It comprises a direct binding to the GObject Introspection API and higher-level functionality for importing Gnome libraries and making GObject classes (and methods) available in Guile's object-oriented programming system, GOOPS.
Note: Currently, when developing with G-Golf in guix shell, there is a grafts bug in Guix. To avoid it, use Guix' --no-grafts option. Guix packages that use wrap-program are unaffected.
Fibers is a Guile library that implements a a lightweight concurrency facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is like a "goroutine" from the Go language: a lightweight thread-like abstraction. Systems built with Fibers can scale up to millions of concurrent fibers, tens of thousands of concurrent socket connections, and many parallel cores. The Fibers library also provides Concurrent ML-like channels for communication between fibers.
Note that Fibers makes use of some Guile 2.1/2.2-specific features and is not available for Guile 2.0.
This package provides Guile bindings to the WiredTiger ``NoSQL'' database.
guile-ncurses provides Guile language bindings for the ncurses library.
This package provides Guile bindings to the SQLite database system.
This package provides Guile bindings to the SQLite database system.
This package provides a Guile programming interface to the ZeroMQ messaging library.
guile-filesystem provides a set of utility functions, that augment Guile's support for handling files and their names.
This Guile library provides instrumentation code intended to be used with the Prometheus time series service. Counter, gauge and histogram metric types are supported.
Guile port of racket-algorithms, a package containing useful algorithms borrowed from other programming languages).
guile-dbi is a library for Guile that provides a convenient interface to SQL databases. This package implements the interface for MySQL.
The (hashing …) modules implement cryptographic hash functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, SHA-512).
Irregex is an s-expression based alternative to your classic string-based regular expressions. It implements SRFI 115 and is deeply inspired by the SCSH regular expression system.
Irregex is an s-expression based alternative to your classic string-based regular expressions. It implements SRFI 115 and is deeply inspired by the SCSH regular expression system.
Fortran is great in expressing operations on multi-dimensional arrays of numbers. Scheme is great at expressing your coding thoughts. This project is an attempt to combine both into something useful.
This package provides a library (lsp-server) and an executable guile-lsp-server that can be used by LSP clients in order to provide IDE functionality for Guile Scheme.
Guile-Quickcheck is a library for random testing of program properties inspired by ghc-quickcheck. You can use it to express properties, which functions should satisfy, as Scheme code and then check whether they hold in a large number of randomly generated test cases.
Guile-Present defines a declarative vocabulary for presentations, together with tools to render presentation documents as SVG or PDF. Guile-Present can be used to make presentations programmatically, but also includes a tools to generate PDF presentations out of Org mode and Texinfo documents.
This package provides a simple Guile interface to .env (or dotenv) files. It implements parsing of files and setting environment variables from them.
Additionally, this package provides a dotenv command, exposes part of the guile-dotenv Guile API as command lines invocations.
guile-commonmark is a library for parsing CommonMark, a fully specified variant of Markdown. The library is written in Guile Scheme and is designed to transform a CommonMark document to SXML. guile-commonmark tries to closely follow the CommonMark spec, the main difference is no support for parsing block and inline level HTML.
MiniKanren is a relational programming extension to the Scheme programming Language, written as a smaller version of Kanren suitable for pedagogical purposes. It is featured in the book, The Reasoned Schemer, written by Dan Friedman, William Byrd, and Oleg Kiselyov.
This is Ian Price's r6rs packaged version of miniKanren, which deviates slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.
Guile-Cairo wraps the Cairo graphics library for Guile Scheme. Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API stable, providing a firm base on which to do graphics work. Finally, and importantly, it is pleasant to use. You get a powerful and well-maintained graphics library with all of the benefits of Scheme: memory management, exceptions, macros, and a dynamic programming environment.