Guile library providing useful patterns when using Guile Fibers. This includes concurrency primitives, promises, non-blocking utilities, a resource pool, a web server implementation and more. https://cbaines.codeberg.page/guile-knots/
Find a file
Christopher Baines b3fa4d069b
All checks were successful
/ test (push) Successful in 6s
Rework the backtrace handling
Try and improve the print-backtrace-and-exception/knots output, be
selective about the stack frames which are shown to try and produce
some useful output which reflects user code and hide the
&knots-exceptions.

This commit also introduces a bunch of tests scripts that produce
output from print-backtrace-and-exception/knots, to help test this
code in different situations.
2026-03-22 18:31:56 +00:00
.forgejo/workflows Fix call to documenta 2025-07-10 16:15:58 +01:00
doc Add manual index 2025-06-24 20:58:04 +02:00
knots Rework the backtrace handling 2026-03-22 18:31:56 +00:00
tests Rework the backtrace handling 2026-03-22 18:31:56 +00:00
.gitignore Enable the Makefile to run tests 2024-12-29 10:47:54 +00:00
bootstrap Initial commit 2024-12-16 09:18:12 +00:00
configure.ac Enable the Makefile to run tests 2024-12-29 10:47:54 +00:00
COPYING Initial commit 2024-12-16 09:18:12 +00:00
guile.am Initial commit 2024-12-16 09:18:12 +00:00
guix-dev.scm Add texinfo to guix-dev.scm 2025-06-24 20:50:44 +02:00
knots.scm Rework the backtrace handling 2026-03-22 18:31:56 +00:00
Makefile.am Rework the backtrace handling 2026-03-22 18:31:56 +00:00
pre-inst-env.in Initial commit 2024-12-16 09:18:12 +00:00
README Add more detail to the README. 2026-03-17 21:35:45 +00:00
test-env.in Remove GUILE_AUTO_COMPILE=0 from test-env.in 2025-03-08 10:14:54 +00:00
tests.scm Use the knots backtrace printer for tests 2025-06-27 00:16:41 +02:00

-*- mode: org -*-

* Guile Knots

Guile Knots is a library providing higher-level patterns and building
blocks for programming with [[https://codeberg.org/guile/fibers][Guile Fibers]].

This includes:

- Parallel map/for-each with configurable concurrency limits
- Resource and thread pools
- Fiber-aware promises for lazy and eager parallel evaluation
- Timeouts for fibers and I/O ports
- A HTTP web server
- Non-blocking socket utilities