Asynchronous Reliable Extensible Sleek RPC Server for Guile. It's based on nREPL protocol and can be used for programmable interactions with a running guile processes, for implementing REPLs, IDEs, test runners or other tools.
Asynchronous Reliable Extensible Sleek RPC Server for Guile. It's based on nREPL protocol and can be used for programmable interactions with a running guile processes, for implementing REPLs, IDEs, test runners or other tools.
To query and change settings of serial devices on POSIX systems, the termios API is used. GNU Guile doesn't have an interface for that built in. This module implements this interface by use of Guile's dynamic FFI.
This is an R6RS Scheme adaptation of the packrat parsing. Packrat parsing is a memoizing, backtracking, recursive-descent parsing technique that runs in time and space linear in the size of the input text.
This is an R6RS Scheme library that provides a reader with some extra features not found in the standard read procedure such as a compatible mode with support for other RnRS standards and a tolerant mode that continues on errors.
GNU Guile QR code generator that can create QR codes from text and binary data. The resulting QR codes can be rendered to ASCII art strings or to PNG images (using Guile-PNG API.)
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.
Guile-Lens is a library implementing lenses in Guile. The library is currently a re-implementation of the lentes library for Clojure. Lenses provide composable procedures, which can be used to focus, apply functions over, or update a value in arbitrary data structures.
Guile Netlink is a GNU Guile library providing an implementation of the netlink protocol.
It provides a generic library for writing implementations of a netlink protocol, a low-level rtnetlink implementation that uses that library and a high-level API for network management that uses rtnetlink.
Guile-JSON supports parsing and building JSON documents according to the specification. These are the main features:
Strictly complies to specification.
Build JSON documents programmatically via macros.
Unicode support for strings.
Allows JSON pretty printing.
Guile-JSON supports parsing and building JSON documents according to the specification. These are the main features:
Strictly complies to specification.
Build JSON documents programmatically via macros.
Unicode support for strings.
Allows JSON pretty printing.
This package provides an implementation of AA trees, a self-balancing binary tree data structure, for Guile. It ensure O(log n) worst case performance for core operations. The module provides non-mutating insert, delete, and search operations, with support for convenient nested tree operations.
GNU Zile is a lightweight clone of the Emacs editor, and Zile-on-Guile is a variant of Zile that can be extended in Guile Scheme. Hitting M-C (or: Alt and C) brings up a Guile REPL from which interactive functions akin to those of Emacs can be invoked.
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-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.
This package provides tooling to write web applications in Guile, such as signed sessions, multipart message support, etc.
squee
is a Guile library for connecting to PostgreSQL databases using Guile's foreign function interface.
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.