Libraries

This page lists free software projects that use or enhance the current stable version of Guile. It is generated from the package collection of GNU Guix. If you want to add packages to this list, consider contributing them to Guix!

8sync

Guile 2.2

GNU 8sync (pronounced "eight-sync") is an asynchronous programming library for GNU Guile based on the actor model.

Note that 8sync is only available for Guile 2.2.

License: LGPL 3+

ac-d-bus

Guile 3.0

AC/D-Bus is an implementation of the D-Bus wire protocol. D-Bus is an interprocess communication protocol popular on GNU/Linux systems to communicate with a variety of services. Originally designed for desktop environments, it is now used by programs like VLC media player, BlueZ, NetworkManager, Pulseaudio, systemd (including logind and resolved), Polkit, gnome-keyring, and many more.

License: Expat

agi-bio

Guile 2.2

This is a package for genomic and proteomic research using the OpenCog toolset with Guile. This includes experiments in applying pattern mining and other OpenCog components.

License: AGPL 3

aisleriot

Guile 2.2

Aisleriot (also known as Solitaire or sol) is a collection of card games which are easy to play with the aid of a mouse.

License: GPL 3+

akku

Guile 3.0

Akku.scm is a project-based language package manager for R6RS and R7RS Scheme. It is mainly meant for programmers who develop portable programs or libraries in Scheme, but could potentially work for end-users of those programs. It also has a translator from R7RS, which allows most R7RS code to run on R6RS implementations.

License: GPL 3+

alive

Guile 2.0

GNU Alive sends periodic pings to a server, generally to keep a connection alive.

License: GPL 3+

anubis

Guile 3.0

Anubis is a daemon that sits between the Mail User Agent (MUA) and the Mail Transfer Agent (MTA). When a mail is sent by a user in the MUA, it is first passed to Anubis, which performs additional processing to the message before passing it on for delivery by the MTA. Anubis may, for example, modify the message headers or body, or encrypt or sign the message.

License: GPL 3+

artanis

Guile 2.2

GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications, web services and web resources. The framework aims to alleviate the overhead associated with common activities performed in web development. Artanis provides several tools for web development: database access, templating frameworks, session management, URL-remapping for RESTful, page caching, and more.

License: GPL 3+, LGPL 3+

atomspace

Guile 2.2

The OpenCog AtomSpace is an in-RAM knowledge representation (KR) database, an associated query engine and graph-re-writing system, and a rule-driven inferencing engine that can apply and manipulate sequences of rules to perform reasoning. It is a layer that sits on top of ordinary distributed (graph) databases, providing a large variety of advanced features not otherwise available.

License: AGPL 3

attention

Guile 2.2

Attention Allocation is an OpenCog subsystem meant to control the application of processing and memory resources to specific tasks.

License: AGPL 3

autogen

Guile 2.2

AutoGen is a program to ease the maintenance of programs that contain large amounts of repetitive text. It automates the construction of these sections of the code, simplifying the task of keeping the text in sync. It also includes an add-on package called AutoOpts, which is specialized for the maintenance and documentation of program options.

License: GPL 3+

bats

Guile 3.0

Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected. Bats is most useful when testing software written in Bash, but you can use it to test any UNIX program.

License: Expat

beast

Guile 1.8

Beast is a music composition and modular synthesis application. It supports a wide range of standards in the field, such as MIDI, various audio file formats and LADSPA modules. It allows for multitrack editing, real-time synthesis, 32bit audio rendering, precise timing down to sample granularity, on-demand and partial loading of wave files, on the fly decoding, stereo mixing, FFT scopes, MIDI automation and full scriptability in Scheme.

License: GPL 3+

carla

Guile 2.2

Carla is a modular audio plugin host, with features like transport control, automation of parameters via MIDI CC and remote control over OSC. Carla currently supports LADSPA (including LRDF), DSSI, LV2, VST2, and VST3 plugin formats, plus SF2 and SFZ file support. It uses JACK as the default and preferred audio driver but also supports native drivers like ALSA.

License: GPL 2+

chickadee

Guile 3.0

Chickadee is a game development toolkit for Guile Scheme built on top of SDL2 and OpenGL. Chickadee aims to provide all the features that parenthetically inclined game developers need to make 2D (and eventually 3D) games in Scheme, such as:

  1. extensible, fixed-timestep game loop

  2. OpenGL-based rendering engine

  3. keyboard, mouse, controller input

  4. REPL-driven development model

License: GPL 3+

clipmenu

Guile 3.0

Start clipmenud, then run clipmenu to select something to put on the clipboard.

When clipmenud detects changes to the clipboard contents, it writes them out to the cache directory. clipmenu reads the cache directory to find all available clips and launches dmenu (or rofi, depending on the value of CM_LAUNCHER) to let the user select a clip. After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.

License: Public Domain

cogserver

Guile 2.2

The OpenCog Cogserver is a network and job server for the OpenCog framework.

License: AGPL 3

cuirass

Guile 3.0

Cuirass is a continuous integration tool using GNU Guix. It is intended as a replacement for Hydra.

License: GPL 3+

denemo

Guile 2.0

GNU Denemo is a music notation editor that provides a convenient interface to the powerful music engraving program Lilypond. Music can be typed in using the computer keyboard, played in using a MIDI keyboard, or even input via a microphone connected to the sound card. The final product is publication-quality music notation that is continuously generated in the background while you work.

License: GPL 3+

dico

Guile 2.2

GNU Dico implements a flexible dictionary server and client according to RFC 2229 (DICT Server). It is able to access any database available, regardless of format, thanks to its modular structure. New modules may be written in C, Guile or Python. Dico also includes a command-line client, which may be used to query remote dictionary databases.

License: GPL 3+

emacs-geiser

Guile 2.2

Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.

License: Modified BSD

emacs-guix

Guile 3.0

Emacs-Guix provides a visual interface, tools and features for the GNU Guix package manager. Particularly, it allows you to do various package management tasks from Emacs. To begin with, run M-x guix-about or M-x guix-help command.

License: GPL 3+

emacsy

Guile 3.0

Emacsy is an embeddable Emacs-like library that uses GNU Guile as extension language. Emacsy can give a C program an Emacsy feel with keymaps, minibuffer, recordable macros, history, tab completion, major and minor modes, etc., and can also be used as a pure Guile library. It comes with a simple counter example using FreeGLUT and browser examples in C using Gtk+-3 and WebKitGtk.

License: GPL 3+

emacsy-minimal

Guile 3.0

Emacsy is an embeddable Emacs-like library that uses GNU Guile as extension language. Emacsy can give a C program an Emacsy feel with keymaps, minibuffer, recordable macros, history, tab completion, major and minor modes, etc., and can also be used as a pure Guile library. It comes with a simple counter example using FreeGLUT and browser examples in C using Gtk+-3 and WebKitGtk.

License: GPL 3+

eris

Guile 3.0

Guile-ERIS is the reference implementation of the Encoding for Robust Immutable Storage (ERIS). ERIS allows arbirtary content to be encoded into uniformly sized, encrypted blocks that can be reassembled using a short read-capability.

License: GPL 3+

fdisk

Guile 1.8

GNU fdisk provides a GNU version of the common disk partitioning tool fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats.

License: GPL 3+

fibers

Guile 3.0

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.

License: LGPL 3+

freehdl

Guile 2.2

FreeHDL is a compiler/simulator suite for the hardware description language VHDL. VHDL'93 as well as VHDL'87 standards are supported.

License: GPL 2+, LGPL 2.0+

freetalk

Guile 2.0

GNU Freetalk is a command-line Jabber/XMPP chat client. It notably uses the Readline library to handle input, so it features convenient navigation of text as well as tab-completion of buddy names, commands and English words. It is also scriptable and extensible via Guile.

License: GPL 3+

g-golf

Guile 2.2

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.

License: LGPL 3+

g-wrap

Guile 2.2

G-Wrap is a tool and Guile library for generating function wrappers for inter-language calls. It currently only supports generating Guile wrappers for C functions. Given a definition of the types and prototypes for a given C interface, G-Wrap will automatically generate the C code that provides access to that interface and its types from the Scheme level.

License: LGPL 2.1+

gash

Guile 3.0

Gash is a POSIX-compatible shell written in Guile Scheme. It provides both the shell interface, as well as a Guile library for parsing shell scripts. Gash is designed to bootstrap Bash as part of the Guix bootstrap process.

License: GPL 3+

gash-utils

Guile 3.0

Gash-Utils provides Scheme implementations of many common POSIX utilities (there are about 40 of them, ranging in complexity from false to awk). The utilities are designed to be capable of bootstrapping their standard GNU counterparts. Underpinning these utilities are many Scheme interfaces for manipulating files and text.

License: GPL 3+

gdb

Guile 3.0Guile 2.0

GDB is the GNU debugger. With it, you can monitor what a program is doing while it runs or what it was doing just before a crash. It allows you to specify the runtime conditions, to define breakpoints, and to change how the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.

License: GPL 3+

gdb-minimal

Guile 3.0

GDB is the GNU debugger. With it, you can monitor what a program is doing while it runs or what it was doing just before a crash. It allows you to specify the runtime conditions, to define breakpoints, and to change how the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.

License: GPL 3+

geda-gaf

Guile 2.0

Gaf stands for “gschem and friends”. It is a subset of the entire tool suite grouped together under the gEDA name. gEDA/gaf is a collection of tools which currently includes: gschem, a schematic capture program; gnetlist, a netlist generation program; gsymcheck, a syntax checker for schematic symbols; gattrib, a spreadsheet programm that manipulates the properties of symbols of a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a tool to forward annotation from your schematic to layout using PCB; some minor utilities.

License: GPL 2+

gess

Guile 3.0

GESS is an implementation of a novel computational method to detect de novo exon-skipping events directly from raw RNA-seq data without the prior knowledge of gene annotation information. GESS stands for the graph-based exon-skipping scanner detection scheme.

License: Modified BSD

gnubik

Guile 2.0

GNUbik is a puzzle game in which you must manipulate a cube to make each of its faces have a uniform color. The game is customizable, allowing you to set the size of the cube (the default is 3x3) or to change the colors. You may even apply photos to the faces instead of colors. The game is scriptable with Guile.

License: GPL 3+

gnucash

Guile 3.0

GnuCash is personal and professional financial-accounting software. It can be used to track bank accounts, stocks, income and expenses, based on the double-entry accounting practice. It includes support for QIF/OFX/HBCI import and transaction matching. It also automates several tasks, such as financial calculations or scheduled transactions.

To make the GnuCash documentation available, its doc output must be installed as well as Yelp, the Gnome help browser.

License: GPL 3+

gnurobots

Guile 1.8

GNU Robots is a game in which you program a robot to explore a world full of enemies that can hurt it, obstacles and food to be eaten. The goal of the game is to stay alive and collect prizes. The robot program conveniently may be written in a plain text file in the Scheme programming language.

License: GPL 3+

gnutls

Guile 3.0Guile 2.0

GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols. It is provided in the form of a C library to support the protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other required structures.

License: LGPL 2.1+

gnutls-dane

Guile 3.0

GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols. It is provided in the form of a C library to support the protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other required structures.

License: LGPL 2.1+

graphviz

Guile 2.0

Graphviz is a graph visualization tool suite. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

License: EPL 1.0

guildhall

Guile 2.0

Guildhall is a package manager written for Guile Scheme. A guild is an association of independent craftspeople. A guildhall is where they meet. This Guildhall aims to make a virtual space for Guile wizards and journeyfolk to share code.

On a practical level, Guildhall lets you share Scheme modules and programs over the internet, and install code that has been shared by others. Guildhall can handle dependencies, so when a program requires several libraries, and each of those has further dependencies, all of the prerequisites for the program can be installed in one go.

License: GPL 3+

guile

Guile 3.0

This is Emacs with a few settings that make working with Guile easier for people new to Emacs. Features include: CUA mode, Geiser, tool bar icons to evaluate Guile buffers, support for Guile's very own picture language, code completion, a simple mode line, etc.

License: GPL 3+

guile-aa-tree

Guile 2.2

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.

License: GPL 3+

guile-aspell

Guile 2.2

guile-aspell is a Guile Scheme library for comparing a string against a dictionary and suggesting spelling corrections.

License: GPL 3+

guile-avahi

Guile 3.0

This package provides bindings for Avahi. It allows programmers to use functionalities of the Avahi client library from Guile Scheme programs. Avahi itself is an implementation of multicast DNS (mDNS) and DNS Service Discovery (DNS-SD).

License: LGPL 3+

guile-bash

Guile 2.0

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.

License: GPL 3+

guile-cairo

Guile 3.0

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.

License: LGPL 3+

guile-charting

Guile 3.0

Guile-Charting is a Guile Scheme library to create bar charts and graphs using the Cairo drawing library.

License: LGPL 2.1+

guile-colorized

Guile 3.0

Guile-colorized provides you with a colorized REPL for GNU Guile.

License: GPL 3+

guile-commonmark

Guile 3.0Guile 2.0

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.

License: LGPL 3+

guile-config

Guile 3.0

Guile Config is a library providing a declarative approach to application configuration specification. The library provides clean configuration declaration forms, and processors that take care of: configuration file creation; configuration file parsing; command-line parameter parsing using getopt-long; basic GNU command-line parameter generation (--help, --usage, --version); automatic output generation for the above command-line parameters.

License: GPL 3+

guile-curl

Guile 3.0

guile-curl is a project that has procedures that allow Guile to do client-side URL transfers, like requesting documents from HTTP or FTP servers. It is based on the curl library.

License: GPL 3+

guile-cv

Guile 2.2

Guile-CV is a Computer Vision functional programming library for the Guile Scheme language. It is based on Vigra (Vision with Generic Algorithms), a C++ image processing and analysis library. Guile-CV contains bindings to Vigra C (a C wrapper to most of the Vigra functionality) and is enriched with pure Guile Scheme algorithms, all accessible through a nice, clean and easy to use high level API.

License: GPL 3+

guile-daemon

Guile 2.2

Guile-Daemon is a small Guile program that loads your initial configuration file, and then reads and evaluates Guile expressions that you send to a FIFO file.

License: GPL 3+

guile-dbi

Guile 2.2

guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same programming interface is presented regardless of which database system is used. It currently supports MySQL, Postgres and SQLite3.

License: GPL 2+

guile-debbugs

Guile 3.0

This package provides a Guile library to communicate with a Debbugs bug tracker's SOAP service, such as https://bugs.gnu.org.

License: GPL 3+

guile-dsv

Guile 3.0

Guile-DSV is a GNU Guile module for working with the delimiter-separated values (DSV) data format. Guile-DSV supports the Unix-style DSV format and RFC 4180 format.

License: GPL 3+

guile-email.systemreboot

Guile 3.0

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.

License: AGPL 3+

guile-ffi-fftw

Guile 2.2

This is a minimal set of Guile FFI bindings for the FFTW library's ‘guru interface’. It provides two functions: fftw-dft! rank sign in out and fftw-dft rank sign in. These bindings being minimal, there is no support for computing & reusing plans, or split r/i transforms, or anything other than straight complex DFTs.

License: LGPL 3+

guile-file-names

Guile 2.2

The (file-names) module provides tools for manipulating file names. The module was built on the idea that doing anything more than a non-trivial modification of a file name string is a pain (making sure all slashes are present and accounted for, resolving . and .., etc). Inevitably, you have to break the string up into chunks and operate on that list of components. This module takes care of that for you.

License: LGPL 3+

guile-filesystem

Guile 3.0Guile 2.0

guile-filesystem provides a set of utility functions, that augment Guile's support for handling files and their names.

License: LGPL 3+

guile-gcrypt

Guile 3.0Guile 2.0

Guile-Gcrypt provides a Guile interface to a subset of the GNU Libgcrypt crytographic library. It provides modules for cryptographic hash functions, message authentication codes (MAC), public-key cryptography, strong randomness, and more. It is implemented using the foreign function interface (FFI) of Guile.

License: GPL 3+

guile-gdbm

Guile 3.0Guile 2.0

Guile bindings to the GDBM key-value storage system, using Guile's foreign function interface.

License: GPL 3+

guile-gi

Guile 3.0

Guile-GI is a library for Guile that allows using GObject-based libraries, such as GTK+3. Its README comes with the disclaimer: This is pre-alpha code.

License: GPL 3+

guile-git

Guile 3.0Guile 2.0

This package provides Guile bindings to libgit2, a library to manipulate repositories of the Git version control system.

License: GPL 3+

guile-gnome

Guile 2.2

Includes guile-clutter, guile-gnome-gstreamer, guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.

License: GPL 2+

guile-hall

Guile 3.0

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.

License: GPL 3+

guile-ics

Guile 3.0

Guile-ICS is an iCalendar (RFC5545) format parser library written in pure Scheme. The library can be used to read and write iCalendar data.

The library is shipped with documentation in Info format and usage examples.

License: GPL 3+

guile-irc

Guile 3.0

This package provides a Guile library for Internet Relay Chat (IRC).

License: LGPL 2.1+

guile-jpeg

Guile 2.2

Guile-JPEG is a Scheme library to parse JPEG image files and to perform geometrical transforms on JPEG images.

License: GPL 3+

guile-json

Guile 3.0Guile 2.2

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.

License: GPL 3+

guile-jsonld

Guile 3.0

Guile JsonLD is an implementation of the JsonLD (Json for Linked Data) API defined by the W3C for GNU Guile. It allows you to express links between data, in a way that is very similar to WikiData or RDF for instance. An object can have relations (in the form of an IRI) that relates it to one or more objects or strings, represented by a Json object or an IRI.

License: GPL 3+

guile-jwt

Guile 3.0

guile-jwt is a JSON Web Token module for Guile. JSON Web Tokens are an open, industry standard (RFC 7519) method for representing claims securely between two parties. guile-jwt allows you to decode, verify and generate JWT. Supported algorithms: HS256, HS384, HS512.

License: GPL 3+

guile-lens

Guile 3.0

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.

License: GPL 3+

guile-lib

Guile 3.0Guile 2.0

Guile-Lib is intended as an accumulation place for pure-scheme Guile modules, allowing for people to cooperate integrating their generic Guile modules into a coherent library. Think "a down-scaled, limited-scope CPAN for Guile".

License: GPL 3+

guile-libyaml

Guile 3.0

This package provides a simple yaml module for Guile using the ffi-helper from nyacc.

License: LGPL 3+

guile-lzlib

Guile 3.0

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.

License: GPL 3+

guile-mastodon

Guile 2.2

This package provides Guile modules to access the REST API of Mastodon, a federated microblogging service.

License: GPL 3+

guile-ncurses

Guile 3.0Guile 2.2

guile-ncurses provides Guile language bindings for the ncurses library.

License: LGPL 3+

guile-newt

Guile 3.0

This package provides bindings for Newt, a programming library for color text mode, widget based user interfaces. The bindings are written in pure Scheme by using Guile’s foreign function interface.

License: GPL 3+

guile-opengl

Guile 3.0Guile 2.2

Guile-OpenGL is a library for Guile that provides bindings to the OpenGL graphics API.

License: LGPL 3+

guile-parted

Guile 3.0

This package provides bindings for GNU Parted library, a C library allowing disk partition tables creation and manipulation. The bindings are written in pure Scheme by using Guile's foreign function interface.

License: GPL 3+

guile-persist

Guile 3.0

This is a serialization library for serializing objects like classes and objects, closures and structs. This currently does not support serializing continuations or delimited continuations.

License: LGPL 2.0+

guile-pg

Guile 2.0

Guile-PG is a collection of modules for Guile allowing access to the PostgreSQL RDBMS from Scheme programs.

This has been tested against PostgreSQL 10 through 13, but currently only works with Guile 1.4.x to 2.0.x.

License: GPL 3+

guile-picture-language

Guile 3.0

This package provides a simple SVG-based picture language for Guile. The picture values can directly be displayed in Geiser.

License: LGPL 3+, GPL 3+

guile-present

Guile 3.0

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.

License: LGPL 3+

guile-rdf

Guile 3.0

Guile RDF is an implementation of the RDF (Resource Description Framework) format defined by the W3C for GNU Guile. RDF structures include triples (facts with a subject, a predicate and an object), graphs which are sets of triples, and datasets, which are collections of graphs.

RDF specifications include the specification of concrete syntaxes and of operations on graphs. This library implements some basic functionalities, such as parsing and producing turtle and nquads syntax, as well as manipulating graphs and datasets.

License: GPL 3+

guile-reader

Guile 3.0

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).

License: GPL 3+

guile-redis

Guile 3.0Guile 2.0

Guile-redis provides a Scheme interface to the Redis key-value cache and store.

License: LGPL 3+

guile-rsvg

Guile 3.0

Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG images onto Cairo surfaces.

License: LGPL 2.1+

guile-sdl

Guile 2.2

Guile-SDL is a set of bindings to the Simple DirectMedia Layer (SDL). With them, Guile programmers can have easy access to graphics, sound and device input (keyboards, joysticks, mice, etc.).

License: GPL 3+

guile-sdl2

Guile 3.0Guile 2.2

Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared library. The bindings are written in pure Scheme using Guile's foreign function interface.

License: LGPL 3+

guile-semver

Guile 3.0

This Guile library provides tools for reading, comparing, and writing Semantic Versions. It also includes ranges in the style of the Node Package Manager (NPM).

License: GPL 3+

guile-shapefile

Guile 3.0

Guile Shapefile is a Guile library for reading shapefiles.

License: Expat

guile-simple-zmq

Guile 3.0

This package provides a Guile programming interface to the ZeroMQ messaging library.

License: GPL 3+

guile-sjson

Guile 3.0

guile-sjson is a json reader/writer for Guile. It has a nice, simple s-expression based syntax.

License: LGPL 3+

guile-sodium

Guile 3.0

This package provides Guile bindings to the libsodium cryptographic library which provides core cryptographic primitives needed to build higher-level tools.

License: GPL 3+

guile-sparql

Guile 3.0

This package provides the functionality to query a SPARQL endpoint. Additionally, it provides an interface to write SPARQL queries using S-expressions.

License: GPL 3+

guile-sqlite3

Guile 3.0Guile 2.0

This package provides Guile bindings to the SQLite database system.

License: GPL 3+

guile-squee

Guile 3.0

squee is a Guile library for connecting to PostgreSQL databases using Guile's foreign function interface.

License: LGPL 3+

guile-srfi-145

Guile 3.0

This package provides SRFI-145. This provides the means to denote the invalidity of certain code paths in a Scheme program.

License: GPL 3+

guile-srfi-158

Guile 3.0

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.

License: GPL 3+

guile-srfi-159

Guile 2.2

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.

License: Modified BSD

guile-srfi-89

Guile 3.0

This package provides SRFI-89 optional positional and named parameters, which define* and lambda* special forms

License: GPL 3+

guile-ssh

Guile 3.0Guile 2.0

Guile-SSH is a library that provides access to the SSH protocol for programs written in GNU Guile interpreter. It is a wrapper to the underlying libssh library.

License: GPL 3+

guile-syntax-highlight

Guile 3.0

Guile-syntax-highlight is a general-purpose syntax highlighting library for GNU Guile. It can parse code written in various programming languages into a simple s-expression that can be converted to HTML (via SXML) or any other format for rendering.

License: LGPL 3+

guile-udev

Guile 3.0

Guile-Udev provides GNU Guile bindings to libudev.

License: GPL 3+

guile-websocket

Guile 3.0

Guile-websocket provides an implementation of the WebSocket protocol as defined by RFC 6455.

License: LGPL 3+

guile-webutils

Guile 3.0

This package provides tooling to write web applications in Guile, such as signed sessions, multipart message support, etc.

License: GPL 3+

guile-wiredtiger

Guile 2.2

This package provides Guile bindings to the WiredTiger ``NoSQL'' database.

License: GPL 3+

guile-wm

Guile 2.2

Guile-WM is a simple window manager that's completely customizable—you have total control of what it does by choosing which modules to include. Included with it are a few modules that provide basic TinyWM-like window management, some window record-keeping, multi-monitor support, and emacs-like keymaps and minibuffer. At this point, it's just enough to get you started.

License: GPL 3+

guile-xapian

Guile 3.0

guile-xapian provides Guile bindings for Xapian, a search engine library. Xapian is a highly adaptable toolkit which allows developers to easily add advanced indexing and search facilities to their own applications. It has built-in support for several families of weighting models and also supports a rich set of boolean query operators.

License: GPL 2+

guile-xcb

Guile 2.2

Guile-XCB implements the XCB protocol and provides all the tools necessary to write X client code in Guile Scheme without any external dependencies.

License: GPL 3+

guile-xosd

Guile 2.2

Guile-XOSD provides Guile bindings for libxosd, the X On Screen Display library.

License: GPL 3+

guile-zlib

Guile 3.0

This package provides Guile bindings for zlib, a lossless data-compression library. The bindings are written in pure Scheme by using Guile's foreign function interface.

License: GPL 3+

guile-zstd

Guile 3.0

This package provides a GNU Guile interface to the zstd (``zstandard'') compression library.

License: GPL 3+

guile2.2-bytestructures

Guile 2.2

Guile bytestructures offers a system imitating the type system of the C programming language, to be used on bytevectors. C's type system works on raw memory, and Guile works on bytevectors which are an abstraction over raw memory. It's also more powerful than the C type system, elevating types to first-class status.

License: GPL 3+

guile2.2-cairo

Guile 2.2

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.

License: LGPL 3+

guile2.2-charting

Guile 2.2

Guile-Charting is a Guile Scheme library to create bar charts and graphs using the Cairo drawing library.

License: LGPL 2.1+

guile2.2-colorized

Guile 2.2

Guile-colorized provides you with a colorized REPL for GNU Guile.

License: GPL 3+

guile2.2-commonmark

Guile 2.2

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.

License: LGPL 3+

guile2.2-config

Guile 2.2

Guile Config is a library providing a declarative approach to application configuration specification. The library provides clean configuration declaration forms, and processors that take care of: configuration file creation; configuration file parsing; command-line parameter parsing using getopt-long; basic GNU command-line parameter generation (--help, --usage, --version); automatic output generation for the above command-line parameters.

License: GPL 3+

guile2.2-curl

Guile 2.2

guile-curl is a project that has procedures that allow Guile to do client-side URL transfers, like requesting documents from HTTP or FTP servers. It is based on the curl library.

License: GPL 3+

guile2.2-dsv

Guile 2.2

Guile-DSV is a GNU Guile module for working with the delimiter-separated values (DSV) data format. Guile-DSV supports the Unix-style DSV format and RFC 4180 format.

License: GPL 3+

guile2.2-email

Guile 2.2

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.

License: AGPL 3+

guile2.2-fibers

Guile 2.2

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.

License: LGPL 3+

guile2.2-filesystem

Guile 2.2

guile-filesystem provides a set of utility functions, that augment Guile's support for handling files and their names.

License: LGPL 3+

guile2.2-gcrypt

Guile 2.2

Guile-Gcrypt provides a Guile interface to a subset of the GNU Libgcrypt crytographic library. It provides modules for cryptographic hash functions, message authentication codes (MAC), public-key cryptography, strong randomness, and more. It is implemented using the foreign function interface (FFI) of Guile.

License: GPL 3+

guile2.2-gdbm-ffi

Guile 2.2

Guile bindings to the GDBM key-value storage system, using Guile's foreign function interface.

License: GPL 3+

guile2.2-gi

Guile 2.2

Guile-GI is a library for Guile that allows using GObject-based libraries, such as GTK+3. Its README comes with the disclaimer: This is pre-alpha code.

License: GPL 3+

guile2.2-git

Guile 2.2

This package provides Guile bindings to libgit2, a library to manipulate repositories of the Git version control system.

License: GPL 3+

guile2.2-gnutls

Guile 2.2

GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols. It is provided in the form of a C library to support the protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other required structures.

License: LGPL 2.1+

guile2.2-guix

Guile 2.2

GNU Guix is a functional package manager for the GNU system, and is also a distribution thereof. It includes a virtual machine image. Besides the usual package management features, it also supports transactional upgrades and roll-backs, per-user profiles, and much more. It is based on the Nix package manager.

License: GPL 3+

guile2.2-hall

Guile 2.2

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.

License: GPL 3+

guile2.2-hashing

Guile 2.2

The (hashing <*ENTITY*>hellip) modules implement cryptographic hash functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, SHA-512).

License: Expat

guile2.2-haunt

Guile 2.2

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.

License: GPL 3+

guile2.2-ics

Guile 2.2

Guile-ICS is an iCalendar (RFC5545) format parser library written in pure Scheme. The library can be used to read and write iCalendar data.

The library is shipped with documentation in Info format and usage examples.

License: GPL 3+

guile2.2-irregex

Guile 2.2

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.

License: Modified BSD

guile2.2-json

Guile 2.2

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.

License: GPL 3+

guile2.2-lens

Guile 2.2

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.

License: GPL 3+

guile2.2-lib

Guile 2.2

Guile-Lib is intended as an accumulation place for pure-scheme Guile modules, allowing for people to cooperate integrating their generic Guile modules into a coherent library. Think "a down-scaled, limited-scope CPAN for Guile".

License: GPL 3+

guile2.2-mailutils

Guile 2.2

GNU Mailutils is a collection of programs for managing, viewing and processing electronic mail. It contains both utilities and server daemons and all operate in a protocol-agnostic way. The underlying libraries are also available, simplifying the addition of mail capabilities to new software.

License: GPL 3+, LGPL 3+

guile2.2-mcron

Guile 2.2

GNU Mcron is a complete replacement for Vixie cron. It is used to run tasks on a schedule, such as every hour or every Monday. Mcron is written in Guile, so its configuration can be written in Scheme; the original cron format is also supported.

License: GPL 3+

guile2.2-minikanren

Guile 2.2

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.

License: Expat

guile2.2-ncurses

Guile 2.2

guile-ncurses provides Guile language bindings for the ncurses library.

License: LGPL 3+

guile2.2-newt

Guile 2.2

This package provides bindings for Newt, a programming library for color text mode, widget based user interfaces. The bindings are written in pure Scheme by using Guile’s foreign function interface.

License: GPL 3+

guile2.2-parted

Guile 2.2

This package provides bindings for GNU Parted library, a C library allowing disk partition tables creation and manipulation. The bindings are written in pure Scheme by using Guile's foreign function interface.

License: GPL 3+

guile2.2-pfds

Guile 2.2

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).

License: Modified BSD

guile2.2-picture-language

Guile 2.2

This package provides a simple SVG-based picture language for Guile. The picture values can directly be displayed in Geiser.

License: LGPL 3+, GPL 3+

guile2.2-present

Guile 2.2

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.

License: LGPL 3+

guile2.2-reader

Guile 2.2

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).

License: GPL 3+

guile2.2-readline

Guile 2.2

This module provides line editing support via the Readline library for GNU<*ENTITY*>nbspGuile. Use the (ice-9 readline) module and call its activate-readline procedure to enable it.

License: GPL 3+

guile2.2-redis

Guile 2.2

Guile-redis provides a Scheme interface to the Redis key-value cache and store.

License: LGPL 3+

guile2.2-rsvg

Guile 2.2

Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG images onto Cairo surfaces.

License: LGPL 2.1+

guile2.2-semver

Guile 2.2

This Guile library provides tools for reading, comparing, and writing Semantic Versions. It also includes ranges in the style of the Node Package Manager (NPM).

License: GPL 3+

guile2.2-shepherd

Guile 2.2

The GNU Shepherd is a daemon-managing daemon, meaning that it supervises the execution of system services, replacing similar functionality found in typical init systems. It provides dependency-handling through a convenient interface and is based on GNU Guile.

License: GPL 3+

guile2.2-simple-zmq

Guile 2.2

This package provides a Guile programming interface to the ZeroMQ messaging library.

License: GPL 3+

guile2.2-sjson

Guile 2.2

guile-sjson is a json reader/writer for Guile. It has a nice, simple s-expression based syntax.

License: LGPL 3+

guile2.2-sqlite3

Guile 2.2

This package provides Guile bindings to the SQLite database system.

License: GPL 3+

guile2.2-squee

Guile 2.2

squee is a Guile library for connecting to PostgreSQL databases using Guile's foreign function interface.

License: LGPL 3+

guile2.2-ssh

Guile 2.2

Guile-SSH is a library that provides access to the SSH protocol for programs written in GNU Guile interpreter. It is a wrapper to the underlying libssh library.

License: GPL 3+

guile2.2-syntax-highlight

Guile 2.2

Guile-syntax-highlight is a general-purpose syntax highlighting library for GNU Guile. It can parse code written in various programming languages into a simple s-expression that can be converted to HTML (via SXML) or any other format for rendering.

License: LGPL 3+

guile2.2-webutils

Guile 2.2

This package provides tooling to write web applications in Guile, such as signed sessions, multipart message support, etc.

License: GPL 3+

guile2.2-wisp

Guile 2.2

Wisp is a syntax for Guile which provides a Python-like whitespace-significant language. It may be easier on the eyes for some users and in some situations.

License: GPL 3+

guile2.2-xapian

Guile 2.2

guile-xapian provides Guile bindings for Xapian, a search engine library. Xapian is a highly adaptable toolkit which allows developers to easily add advanced indexing and search facilities to their own applications. It has built-in support for several families of weighting models and also supports a rich set of boolean query operators.

License: GPL 2+

guix

Guile 3.0Guile 2.0

This package provides Guile bindings to the client libraries of various GNUnet services, including the identity and file sharing services.

License: GPL 3+

guix-build-coordinator

Guile 3.0

The Guix Build Coordinator helps with performing lots of builds across potentially many machines, and with doing something with the results and outputs of those builds.

License: GPL 3+

guix-data-service

Guile 3.0

The Guix Data Service stores data about GNU Guix, and provides this through a web interface. It supports listening to the guix-commits mailing list to find out about new revisions, then loads the data from these in to a PostgreSQL database.

License: AGPL 3+

guix-jupyter

Guile 3.0

Guix-Jupyter is a Jupyter kernel. It allows you to annotate notebooks with information about their software dependencies, such that code is executed in the right software environment. Guix-Jupyter spawns the actual kernels such as python-ipykernel on behalf of the notebook user and runs them in an isolated environment, in separate namespaces.

License: GPL 3+

gwl

Guile 3.0

The Guix Workflow Language (GWL) provides an extension to GNU Guix's declarative language for package management to automate the execution of programs in scientific workflows. The GWL can use process engines to integrate with various computing environments.

License: GPL 3+, AGPL 3+, SIL OFL 1.1

gzochi

Guile 3.0

gzochi is a framework for developing massively multiplayer online games. A server container provides services to deployed games, which are written in Guile Scheme, that abstract and simplify some of the most challenging and error-prone aspects of online game development: Concurrency, data persistence, and network communications. A very thin client library can be embedded to provide connectivity for client applications written in any language.

License: GPL 3+

hashing

Guile 3.0

The (hashing <*ENTITY*>hellip) modules implement cryptographic hash functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, SHA-512).

License: Expat

haunt

Guile 3.0

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.

License: GPL 3+

hpcguix-web

Guile 3.0

Hpcguix-web provides a web interface to the list of packages provided by Guix. The list of packages is searchable and provides instructions on how to use Guix in a shared HPC environment.

License: AGPL 3+

inspekt3d

Guile 3.0

Inspekt3d is a lightweight 3D viewer for Libfive written in Guile Scheme. The viewer can be used interactively with a REPL (for example Geiser in Emacs).

License: GPL 3+

irregex

Guile 3.0Guile 2.0

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.

License: Modified BSD

jupyter-guile-kernel

Guile 3.0

This package provides a Guile 2.x kernel for the Jupyter Notebook. It allows users to interact with the Guile REPL through Jupyter.

License: GPL 3+

laesare

Guile 3.0

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.

License: Expat

lepton-eda

Guile 2.2

Lepton EDA ia an electronic design automation (EDA) tool set forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Lepton EDA includes tools for schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout, and many other features.

License: GPL 2+

libchop

Guile 2.0

Libchop is a set of utilities and library for data backup and distributed storage. Its main application is chop-backup, an encrypted backup program that supports data integrity checks, versioning, distribution among several sites, selective sharing of stored data, adaptive compression, and more. The library itself implements storage techniques such as content-addressable storage, content hash keys, Merkle trees, similarity detection, and lossless compression.

License: GPL 3+

libctl

Guile 2.2

Libctl is a Guile-based library implementing flexible control files for scientific simulations.

License: GPL 2+

libfive

Guile 3.0

Libfive is a tool for programmatic computer-aided design (CAD). In libfive, solid models are defined as Scheme scripts, and there are no opaque function calls into the geometry kernel: everything is visible to the user. Even fundamental, primitive shapes are represented as code in the user-level language.

License: MPL 2.0, GPL 2+

lilypond

Guile 1.8

GNU LilyPond is a music typesetter, which produces high-quality sheet music. Music is input in a text file containing control sequences which are interpreted by LilyPond to produce the final document. It is extendable with Guile.

License: GPL 3+

machine-code

Guile 3.0

This project is about the development of tools that relate to machine code and object formats; for all architectures. Here you'll find libraries for working with binary code: assembly, disassembly, instruction tables, object formats and related areas.

License: Expat

mailutils

Guile 3.0

GNU Mailutils is a collection of programs for managing, viewing and processing electronic mail. It contains both utilities and server daemons and all operate in a protocol-agnostic way. The underlying libraries are also available, simplifying the addition of mail capabilities to new software.

License: GPL 3+, LGPL 3+

make

Guile 3.0

Make is a program that is used to control the production of executables or other files from their source files. The process is controlled from a Makefile, in which the developer specifies how each file is generated from its source. It has powerful dependency resolution and the ability to determine when files have to be regenerated after their sources change. GNU make offers many powerful extensions over the standard utility.

License: GPL 3+

mcron

Guile 3.0

GNU Mcron is a complete replacement for Vixie cron. It is used to run tasks on a schedule, such as every hour or every Monday. Mcron is written in Guile, so its configuration can be written in Scheme; the original cron format is also supported.

License: GPL 3+

meep

Guile 2.2

Meep is a finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.

License: GPL 2+

mes

Guile 2.2

GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed bootstrap to Guix and aims to help create full source bootstrapping for GNU/Linux distributions. It consists of a mutual self-hosting Scheme interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with Guile.

License: GPL 3+

mes-minimal

Guile 2.2

GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed bootstrap to Guix and aims to help create full source bootstrapping for GNU/Linux distributions. It consists of a mutual self-hosting Scheme interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with Guile.

License: GPL 3+

mes-rb5

Guile 2.2

GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed bootstrap to Guix and aims to help create full source bootstrapping for GNU/Linux distributions. It consists of a mutual self-hosting Scheme interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with Guile.

License: GPL 3+

miniadapton

Guile 2.2

This package provides a complete Scheme implementation of miniAdapton, which implements the core functionality of the Adapton system for incremental computation (also known as self-adjusting computation). Like Adapton, miniAdapton allows programmers to safely combine mutation and memoization. miniAdapton is built on top of an even simpler system, microAdapton. Both miniAdapton and microAdapton are designed to be easy to understand, extend, and port to host languages other than Scheme.

License: Expat

minikanren

Guile 3.0Guile 2.0

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.

License: Expat

mkdir-p.divoplade

Guile 3.0

This package provides within the (mkdir-p) module the mkdir-p function that tries to create the chain of directories recursively. It also provides new versions of open-output-file, call-with-output-file and with-output-to-file to create the directory of its argument if it does not exist.

License: ASL 2.0

mpb

Guile 2.2

MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes) of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using fully-vectorial and three-dimensional methods.

License: GPL 2+

mu

Guile 2.2

Mu is a tool for dealing with e-mail messages stored in the Maildir-format. Mu's purpose in life is to help you to quickly find the messages you need; in addition, it allows you to view messages, extract attachments, create new maildirs, and so on.

License: GPL 3+

mumi

Guile 3.0

Mumi is a Debbugs web interface.

License: AGPL 3+

nlopt

Guile 2.0

NLopt is a library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.

License: LGPL 2.1+

nomad

Guile 2.2

Nomad is a Emacs-like web browser that consists of a modular feature-set, fully programmable in Guile Scheme.

License: GPL 3+

nyacc

Guile 3.0Guile 2.2

NYACC is an LALR(1) parser generator implemented in Guile. The syntax and nomenclature should be considered not stable. It comes with extensive examples, including parsers for the Javascript and C99 languages.

License: GPL 3+, LGPL 3+

opencog

Guile 2.2

OpenCog is a framework for developing AI systems, especially appropriate for integrative multi-algorithm systems, and artificial general intelligence systems. It currently contains a functional core framework, and a number of cognitive agents at varying levels of completion, some already displaying interesting and useful functionalities alone and in combination.

License: AGPL 3

packrat

Guile 3.0

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.

License: Expat

pfds

Guile 3.0

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).

License: Modified BSD

pinentry-rofi

Guile 3.0

Pinentry-rofi is a simple graphical user interface for passphrase or PIN when required by gpg or other software. It is using the Rofi application launcher as the user interface. Which makes it combined with rofi-pass a good front end for password-store.

License: GPL 3+

prometheus

Guile 3.0

This Guile library provides instrumentation code intended to be used with the Prometheus time series service. Counter, gauge and histogram metric types are supported.

License: GPL 3+

proteinortho

Guile 3.0

Proteinortho is a tool to detect orthologous genes across different species. For doing so, it compares similarities of given gene sequences and clusters them to find significant groups. The algorithm was designed to handle large-scale data and can be applied to hundreds of species at once.

License: GPL 3+

python-on-guile

Guile 3.0

This package allows you to compile a Guile Python file to any target from tree-il.

License: LGPL 2.0+

r6rs-protobuf

Guile 3.0

This project provides a pure Scheme implementation of Protocol Buffers, including parsing and code generation.

License: GPL 3+

rcas-web

Guile 2.2

This package provides a simple web interface for the RNA-centric annotation system (RCAS).

License: AGPL 3+

remake

Guile 3.0

Remake is an enhanced version of GNU Make that adds improved error reporting, better tracing, profiling, and a debugger.

License: GPL 3+

scheme-bytestructures

Guile 3.0Guile 2.0

Guile bytestructures offers a system imitating the type system of the C programming language, to be used on bytevectors. C's type system works on raw memory, and Guile works on bytevectors which are an abstraction over raw memory. It's also more powerful than the C type system, elevating types to first-class status.

License: GPL 3+

schmutz

Guile 2.2

Schmutz is a header-only library to declare Scheme bindings for C++ code using a simple embedded DSL. Think of it as Boost.Python or LuaBind but for Scheme.

License: Boost 1.0

serveez

Guile 2.0

GNU Serveez is a server framework providing the routines necessary to easily implement IP-based servers in your application. It demonstrates aspects of network programming in a portable manner, making it convenient for both simplifying the process of adding a server to your application or for learning about how network services work. Several example servers are provided already, such as an HTTP server and an IRC server.

License: GPL 3+

shepherd

Guile 3.0Guile 2.0

The GNU Shepherd is a daemon-managing daemon, meaning that it supervises the execution of system services, replacing similar functionality found in typical init systems. It provides dependency-handling through a convenient interface and is based on GNU Guile.

License: GPL 3+

shroud

Guile 2.2

Shroud is a simple secret manager with a command line interface. The password database is stored as a Scheme s-expression and encrypted with a GnuPG key. Secrets consist of an arbitrary number of key/value pairs, making Shroud suitable for more than just password storage. For copying and pasting secrets into web browsers and other graphical applications, there is xclip integration.

License: GPL 3+

sieve-connect

Guile 3.0

Sieve-connect lets you view, upload, edit, delete, and otherwise manage Sieve scripts on any mail server that speaks the ManageSieve protocol, as specified in RFC 5804.

Sieve (RFC 5228) is a specialised language for e-mail filtering. Sieve scripts are stored on the server and run whenever mail arrives. They can automatically sort new messages into folders, silently reject them, send an automated response, and more.

sieve-connect is designed to be both a tool which can be invoked from scripts as well as a decent interactive client. It supports TLS for connection privacy, as well as authentication with SASL or GSSAPI client certificates. It should be a drop-in replacement for sieveshell from the Cyrus IMAP project.

License: Modified BSD

skribilo

Guile 3.0

Skribilo is a free document production tool that takes a structured document representation as its input and renders that document in a variety of output formats: HTML and Info for on-line browsing, and Lout and LaTeX for high-quality hard copies.

The input document can use Skribilo's markup language to provide information about the document's structure, which is similar to HTML or LaTeX and does not require expertise. Alternatively, it can use a simpler, “markup-less” format that borrows from Emacs' outline mode and from other conventions used in emails, Usenet and text.

Lastly, Skribilo provides Guile Scheme APIs.

License: GPL 3+

sly

Guile 2.2

Sly is a 2D/3D game engine written in Guile Scheme. Sly features a functional reactive programming interface and live coding capabilities.

License: GPL 3+

srfi-180

Guile 3.0

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.

License: Expat

srfi-64-driver

Guile 2.2

This package provides an Automake test driver that can run SRFI 64 test suites. It gives Automake insight into the individual tests being run, resulting clearer and more specific output.

License: GPL 3+

srt2vtt

Guile 2.0

srt2vtt converts SubRip formatted subtitles to WebVTT format for use with HTML5 video.

License: GPL 3+

stis-parser

Guile 3.0

This package provides a functional parser combinator library that supports backtracking and a small logical framework. The idea is to build up chunks that are memoized and there is no clear scanner/parser separation, chunks can be expressions as well as simple tokens.

License: LGPL 2.0+

struct-pack

Guile 3.0

This is an R6RS library for working with packed byte structures. It is similar to struct in Python or pack and unpack in Perl.

License: Expat

swig

Guile 3.0

SWIG is an interface compiler that connects programs written in C and C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl. It works by taking the declarations found in C/C++ header files and using them to generate the wrapper code that scripting languages need to access the underlying C/C++ code. In addition, SWIG provides a variety of customization features that let you tailor the wrapping process to suit your application.

License: GPL 3+

texmacs

Guile 1.8

GNU TeXmacs is a text editing platform which is specialized for scientists. It is ideal for editing structured documents with different types of content. It has robust support for mathematical formulas and plots. It can also act as an interface to external mathematical programs such as R and Octave. TeXmacs is completely extensible via Guile.

License: GPL 3+

torrent

Guile 2.2

This package provides facilities for working with .torrent or metainfo files. Implements a bencode reader and writer according to Bitorrent BEP003.

License: GPL 3+

tsukundere

Guile 3.0

Tsukundere is a game engine geared heavily towards the development of visual novels, written on top of Guile-SDL2. It is still experimental.

License: LGPL 3+

vpnc-scripts

Guile 3.0

This set of scripts configures routing and name services when invoked by the VPNC or OpenConnect Cisco Virtual Private Network (VPN) clients.

The default vpnc-script automatically configures most common connections, and provides hooks for performing custom actions at various stages of the connection or disconnection process.

Alternative scripts are provided for more complicated set-ups, or to serve as an example for writing your own. For example, vpnc-script-sshd contains the entire VPN in a network namespace accessible only through SSH.

License: GPL 2+

weechat

Guile 3.0

WeeChat (Wee Enhanced Environment for Chat) is an Internet Relay Chat (IRC) client, which is designed to be light and fast. The client uses a curses frontend, and there are remote interfaces for Web, Qt, Android, and Emacs.

Everything in WeeChat can be done with the keyboard, though it also supports using a mouse. It is customizable and extensible with plugins and scripts.

License: GPL 3

wisp

Guile 3.0

Wisp is a syntax for Guile which provides a Python-like whitespace-significant language. It may be easier on the eyes for some users and in some situations.

License: GPL 3+

xbindkeys

Guile 2.2

XBindKeys is a program that allows you to launch shell commands with your keyboard or your mouse under the X Window System. It links commands to keys or mouse buttons, using a configuration file. It's independent of the window manager and can capture all keyboard keys (ex: Power, Wake...). It optionally supports a Guile-based configuration file layout, which enables you to access all XBindKeys internals, so you can have key combinations, double clicks or timed double clicks take actions. Also all functions that work in Guile will work for XBindKeys.

License: GPL 2+

zile-on-guile

Guile 2.0

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.

License: GPL 3+

zplugins

Guile 2.2

ZPlugins is a collection of audio DSP plugins intended to be bundled with the Zrythm digital audio workstation (DAW).

License: AGPL 3+

zrythm

Guile 2.2

Zrythm is a digital audio workstation designed to be featureful and easy to use. It offers unlimited automation options, LV2 plugin support, JACK support and chord assistance.

License: AGPL 3+