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/
  • Scheme 57.1%
  • Tree-sitter Query 41.9%
  • Shell 0.4%
  • M4 0.3%
  • Makefile 0.3%
Find a file
Christopher Baines 49996c432a
Some checks failed
/ test (push) Failing after 13s
web-server: Call the post-request-hook with the request bytes read.
For the request body, and also disambiguate the body arguments for the
post-request-hook.
2026-04-27 23:04:19 +01:00
.forgejo/workflows Fix call to documenta 2025-07-10 16:15:58 +01:00
doc Mention initial release in the documentation 2026-04-08 08:31:42 +03:00
knots web-server: Call the post-request-hook with the request bytes read. 2026-04-27 23:04:19 +01:00
tests web-server: Call the post-request-hook with the request bytes read. 2026-04-27 23:04:19 +01: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 Check for Guile Fibers and Guile Lib in configure.ac 2026-03-29 18:02:34 +01:00
COPYING Initial commit 2024-12-16 09:18:12 +00:00
guile.am Make some tweaks around tests .go files 2026-04-09 12:57:00 +03:00
guix-dev.scm Update license headers 2026-03-29 17:45:50 +01:00
knots.scm Add call-with-knots-stack-wrapping 2026-04-19 13:58:02 +01:00
Makefile.am Make some tweaks around tests .go files 2026-04-09 12:57:00 +03:00
pre-inst-env.in Initial commit 2024-12-16 09:18:12 +00:00
README.org Rename README 2026-03-23 15:15:26 +00:00
test-env.in Fix backtrace tests when not running from the repository root 2026-03-30 10:05:37 +01: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 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