Guile Awesome List

Table of Contents

1 Manuals

2 Tutorials / Guides / Books

2.1 General GNU Guile / Scheme

2.2 Macros

2.2.1 CK macros

2.3 Monads

2.4 FFI - Foreign Function Interface

3 Libraries

3.2 Browser

3.3 Chat

3.3.1 Chat clients

  1. IRC

3.3.2 Chat bots

  1. IRC

3.4 Compression

3.5 Computer vision

  • GNU Guile-CV
    • website: https://www.gnu.org/software/guile-cv/
    • GNU software reference manual: https://www.gnu.org/software/guile-cv/manual/html_node/index.html
    • description:

      Guile-CV - Image Processing and Analysis in Guile - is a Computer Vision functional programming library for the Guile Scheme language.

      Guile-CV is based on Vigra (Vision with Generic Algorithms), enhanced with additional algorithms (Image Textures, Delineate, Reconstruction and many more), all accessible through a nice, clean and easy to use high level API.

      Guile-CV is natively multi-threaded, and takes advantage of multiple cores, using high-level and fine grained application-level parallelism constructs available in Guile, based on its support to POSIX threads.

      (https://www.gnu.org/software/guile-cv/index.html)

3.6 Configuration

3.7 Cryptography

  • guile-gcrypt
    • git repo: https://notabug.org/cwebber/guile-gcrypt
    • description:

      Guile-Gcrypt provides a Guile 3.x/2.x interface to a subset of the GNU Libgcrypt crytographic library, which is itself used by the GNU Privacy Guard (GPG).

      Guile-Gcrypt 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.

3.8 Databases

3.8.1 Generic

3.8.2 Postgres

3.8.3 Sqlite

3.8.4 MySQL

3.8.5 Redis

3.8.6 CouchDB

3.8.7 Other

3.9 Data structures

3.9.1 Purely functional data structures (PDFS)

3.9.2 RDF

3.9.3 Lenses

3.9.4 Other

3.10 Development environments

3.11 Device management

3.12 Distributed computing

3.13 E-Mail

3.14 Event loop

3.15 FFI - Foreign Function Interface

3.16 File formats

3.16.2 CSV

3.16.3 XML

  • Guile's standard library SXML implementation
    • GNU software manual: https://www.gnu.org/software/guile/manual/html_node/SXML.html
    • Basically your templates become functions or macros.
    • The structure of your document is kept as Scheme data structures.
      • This avoids having parse the document as a long string into an internal data structure to perform semantic transformations.
      • It enables pattern matching without resorting to things like regular expressions and similar shenanigans.

3.16.4 Markdown

3.16.5 Texinfo

3.16.6 JPEG

*

3.16.7 ICS

3.16.8 torrent

3.16.9 Other

  • If the input is not input from users and is trustworthy, one might be able to leverage read/write of s-expressions instead of using other formats.

3.17 File system

3.18 Game development

3.19 Games

3.20 Genomics

3.21 Graphics

3.21.1 Image processing

3.22 GUI development

3.23 Language

3.24 Logging

3.25 Machine Learning

3.26 Macros

3.27 Message Queues

3.28 Network programming

3.29 Parallelism

3.30 Parsing

3.30.1 Parser Combinators

3.30.2 Parser Generator

3.30.3 Other

3.31 Plotting

3.32 Protocols

3.33 Serialization formats

3.34 SRFI (Scheme Request For Implementation) implementations

3.35 Strings

3.36 Regular expressions

3.37 REPL (Read Eval Print Loop)

3.38 RPC (Remote Procedure Call)

3.39 Scientific computing and mathematics

3.39.1 Interaction with the Jupyter ecosystem

3.40 Search engine

3.41 TUI development

3.42 Unit Testing

3.42.1 TAP output

3.43 Version control systems

3.44 Web Development

3.44.1 Web frameworks

3.44.2 Tooling / Additional libraries

  1. Authorization and authentication

3.44.3 Static website generators

3.44.4 Template engine

  • Guile's standard library SXML implementation
    • GNU software manual: https://www.gnu.org/software/guile/manual/html_node/SXML.html
    • Basically your templates become functions or macros.
    • The structure of your document is kept as Scheme data structures.
      • This avoids having parse the document as a long string into an internal data structure to perform semantic transformations.
      • It enables pattern matching without resorting to things like regular expressions and similar shenanigans.

3.44.5 Interaction with services

3.44.6 Web application examples

3.44.7 Web drivers / Selenium

3.45 Window manager

3.46 Working with code

3.47 Other

4 Projects

5 Programming paradigm

5.1 "Object-oriented programming"

5.1.1 Prototype based

5.3 Functional programming

6 Tools

6.1 Editor support

6.2 Project management

6.2.1 Package managers

7 Blogs

8 Other

9 Other lists of Guile software

10 Videos / Talks / Presentations

This category is still empty. Help filling it with interesting GNU Guile related videos, talks or presentations!

Date: 2020-08-22 Sat 00:00

Author: Zelphir Kaltstahl (help & input from Guile community)

Created: 2020-10-10 Sat 14:04

Validate