This package provides purely functional data structures written in R6RS Scheme and compiled for Guile. It has been tested with Racket, Guile 2, Vicare Scheme and IronScheme. Right now it contains:
queues
deques
bbtrees
sets
dlists
priority search queues (PSQs)
finger trees
sequences
heaps
hash array mapped tries (HAMTs).
guile-goblins
is the Guile version of Spritely Goblins, a transactional, distributed programming environment following object capability security designs. Goblins is a general toolkit, and also the core layer of Spritely's work to support healthy distributed networked communities. Goblins allows for cooperation between networked programs in a mutually suspicious network through OCapN, the Object Capability Network. This includes collaboration across runtimes; for instance, programs written in the Guile and Racket versions of Goblins are able to speak to each other.
Guile-Bash provides a shared library and set of Guile modules, allowing you to extend Bash in Scheme. Scheme interfaces allow you to access the following aspects of Bash:
aliases;
setting and getting Bash variables;
creating dynamic variables;
creating Bash functions with a Scheme implementation;
reader macro for output capturing;
reader macro for evaluating raw Bash commands.
To enable it, run:
enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
and then run scm example.scm
.
A comprehensive library of vector operations.
Guile-redis provides a Scheme interface to the Redis key-value cache and store.
Guile bindings to the GDBM key-value storage system, using Guile's foreign function interface.
squee
is a Guile library for connecting to PostgreSQL databases using Guile's foreign function interface.
This package provides tooling to write web applications in Guile, such as signed sessions, multipart message support, etc.
Guile-Charting is a Guile Scheme library to create bar charts and graphs using the Cairo drawing library.
guile-sjson is a json reader/writer for Guile. It has a nice, simple s-expression based syntax.
This package provides Guile modules to access the REST API of Mastodon, a federated microblogging service.
This package provides SRFI-145. This provides the means to denote the invalidity of certain code paths in a Scheme program.
This package provides a Guile implementation of SRFI-133, a comprehensive library of vector operations.
Haunt is a static site generator written in Guile Scheme. Haunt features a functional build system and an extensible interface for reading articles in any format.
Haunt is a static site generator written in Guile Scheme. Haunt features a functional build system and an extensible interface for reading articles in any format.
This library implements a JavaScript Object Notation (JSON) parser and printer. It also supports parsing JSON objects that may be bigger than memory with a streaming API.
guile-email is a collection of email utilities implemented in pure guile. It supports parsing MIME (Multipurpose Internet Mail Extensions) compliant email messages and reading emails from the mbox format.
This module provides line editing support via the Readline library for GNU Guile. Use the (ice-9 readline)
module and call its activate-readline
procedure to enable it.
This package provides Guile bindings for lzlib, a C library for in-memory LZMA compression and decompression. The bindings are written in pure Scheme by using Guile's foreign function interface.
The (srfi-159)
module and its sub-modules implement the formatting combinators specified by SRFI-159. These are more expressive and flexible than the traditional format
procedure.
This package provides an implementation of SRFI 158 for Guile. SRFI 158 defines utility procedures that create, transform, and consume generators. It also defines procedures that return accumulators. It is implemented by wrapping the sample implementation in a thin Guile compatibility layer.
This library provides a reference implementation for SRFI-197. This SRFI defines a family of chain and nest pipeline operators, which can rewrite nested expressions like (a b (c d (e f g)))
as a sequence of operations: (chain g (e f _) (c d _) (a b _))
.
Hall is a command-line application and a set of Guile libraries that allow you to quickly create and publish Guile projects. It allows you to transparently support the GNU build system, manage a project hierarchy & provides tight coupling to Guix.
This package tracks the master branch. It currently provides commit cc0c9016220de42084f9b61f7353edeb62dbff82.
scheme-json-rpc
allows calling procedures on remote servers by exchanging JSON objects. It implements the https://www.jsonrpc.org/specification. The low-level API strives to be R7RS compliant, relying on some SRFI's when needed. So far it was only tested under CHICKEN 5 and Guile 3.