guile-knots/index.html

356 lines
16 KiB
HTML
Raw Normal View History

2025-06-24 20:01:11 +01:00
<!DOCTYPE html>
2025-06-24 10:55:10 +02:00
<html>
2025-06-24 20:01:11 +01:00
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
2025-06-24 10:55:10 +02:00
<head>
2025-06-24 20:01:11 +01:00
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Guile Knots</title>
2025-06-24 10:55:10 +02:00
2025-06-24 20:01:11 +01:00
<meta name="description" content="Guile Knots">
<meta name="keywords" content="Guile Knots">
2025-06-24 10:55:10 +02:00
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
2025-06-24 20:01:11 +01:00
<meta name="Generator" content=".texi2any-real">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="#Top" rel="start" title="Top">
<link href="#Concept-Index" rel="index" title="Concept Index">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
<link href="#API" rel="next" title="API">
2025-06-24 10:55:10 +02:00
<style type="text/css">
<!--
2025-06-24 20:01:11 +01:00
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
a.summary-letter-printindex {text-decoration: none}
2025-06-24 20:03:56 +01:00
h1.settitle {text-align:center}
2025-06-24 20:01:11 +01:00
span:hover a.copiable-link {visibility: visible}
strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
td.printindex-index-entry {vertical-align: top}
td.printindex-index-section {vertical-align: top; padding-left: 1em}
th.entries-header-printindex {text-align:left}
th.sections-header-printindex {text-align:left; padding-left: 1em}
ul.mark-bullet {list-style-type: disc}
ul.toc-numbered-mark {list-style: none}
2025-06-24 10:55:10 +02:00
-->
</style>
<link rel="stylesheet" type="text/css" href="https://luis-felipe.gitlab.io/texinfo-css/static/css/texinfo-7.css">
</head>
2025-06-24 20:01:11 +01:00
<body lang="en">
2025-06-24 20:03:56 +01:00
<h1 class="settitle">Guile Knots</h1>
<hr>
2025-06-24 20:01:11 +01:00
<div class="top-level-extent" id="Top">
<div class="nav-panel">
<p>
Next: <a href="#API" accesskey="n" rel="next">API</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h1 class="top" id="Overview"><span>Overview<a class="copiable-link" href="#Overview"> &para;</a></span></h1>
<p>Guile Knots is a library providing tools and patterns for programming
with <a class="url" href="https://github.com/wingo/fibers">Guile Fibers</a>. Guile Knots
provides higher level building blocks for writing programs using Guile
Fibers, including managing code that can&rsquo;t run in a thread used by
fibers. Also included is a web server implementation using Fibers,
which while being similar to the web server provided by Fibers, can
provide some benefits in specific circumstances.
</p>
<div class="element-contents" id="SEC_Contents">
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
<ul class="toc-numbered-mark">
<li><a id="toc-API-1" href="#API">1 API</a>
<ul class="toc-numbered-mark">
2025-07-10 16:13:11 +01:00
<li><a id="toc-_0028knots_0029" href="#knots">1.1 (knots)</a>
2025-06-24 20:01:11 +01:00
<ul class="toc-numbered-mark">
<li><a id="toc-Procedures" href="#Procedures">1.1.1 Procedures</a></li>
2025-07-10 16:13:11 +01:00
<li><a id="toc-Record-Types" href="#Record-Types">1.1.2 Record Types</a></li>
2025-06-24 20:01:11 +01:00
</ul></li>
</ul></li>
<li><a id="toc-Version-History-1" href="#Version-History">Appendix A Version History</a></li>
<li><a id="toc-Copying-Information-1" href="#Copying-Information">Appendix B Copying Information</a></li>
2025-07-10 16:13:11 +01:00
<li><a id="toc-Concept-Index-1" href="#Concept-Index" rel="index">Concept Index</a></li>
<li><a id="toc-Data-Type-Index-1" href="#Data-Type-Index" rel="index">Data Type Index</a></li>
<li><a id="toc-Procedure-Index-1" href="#Procedure-Index" rel="index">Procedure Index</a></li>
<li><a id="toc-Variable-Index-1" href="#Variable-Index" rel="index">Variable Index</a></li>
</ul>
2025-06-24 20:01:11 +01:00
</div>
</div>
2025-06-24 10:55:10 +02:00
<hr>
2025-07-10 16:13:11 +01:00
<div class="chapter-level-extent" id="API">
2025-06-24 20:01:11 +01:00
<div class="nav-panel">
<p>
2025-07-10 16:13:11 +01:00
Next: <a href="#Version-History" accesskey="n" rel="next">Version History</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Overview</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
2025-06-24 20:01:11 +01:00
</div>
2025-07-10 16:13:11 +01:00
<h2 class="chapter" id="API-1"><span>1 API<a class="copiable-link" href="#API-1"> &para;</a></span></h2>
<p>The following is the list of modules provided by this library.
</p>
2025-06-24 10:55:10 +02:00
2025-06-24 20:01:11 +01:00
<ul class="mini-toc">
2025-07-10 16:13:11 +01:00
<li><a href="#knots" accesskey="1">(knots)</a></li>
2025-06-24 20:01:11 +01:00
</ul>
2025-06-24 10:55:10 +02:00
<hr>
2025-07-10 16:13:11 +01:00
<div class="section-level-extent" id="knots">
2025-06-24 20:01:11 +01:00
<div class="nav-panel">
<p>
2025-07-10 16:13:11 +01:00
Up: <a href="#API" accesskey="u" rel="up">API</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
2025-06-24 20:01:11 +01:00
</div>
2025-07-10 16:13:11 +01:00
<h3 class="section" id="g_t_0028knots_0029"><span>1.1 (knots)<a class="copiable-link" href="#g_t_0028knots_0029"> &para;</a></span></h3>
2025-06-24 10:55:10 +02:00
2025-06-24 20:01:11 +01:00
<ul class="mini-toc">
2025-07-10 16:13:11 +01:00
<li><a href="#Procedures" accesskey="1">Procedures</a></li>
<li><a href="#Record-Types" accesskey="2">Record Types</a></li>
2025-06-24 20:01:11 +01:00
</ul>
2025-07-10 16:13:11 +01:00
<div class="subsection-level-extent" id="Procedures">
<h4 class="subsection"><span>1.1.1 Procedures<a class="copiable-link" href="#Procedures"> &para;</a></span></h4>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-call_002dwith_002ddefault_002dio_002dwaiters"><span class="category-def">Procedure: </span><span><strong class="def-name">call-with-default-io-waiters</strong> <var class="def-var-arguments">a</var><a class="copiable-link" href="#index-call_002dwith_002ddefault_002dio_002dwaiters"> &para;</a></span></dt>
2025-06-24 10:55:10 +02:00
<dd><p>Undocumented procedure.
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-call_002dwith_002dsigint"><span class="category-def">Procedure: </span><span><strong class="def-name">call-with-sigint</strong> <var class="def-var-arguments">a b</var><a class="copiable-link" href="#index-call_002dwith_002dsigint"> &para;</a></span></dt>
<dd><p>Undocumented procedure.
2025-06-24 10:55:10 +02:00
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-knots_002dexception_002dstack"><span class="category-def">Procedure: </span><span><strong class="def-name">knots-exception-stack</strong> <var class="def-var-arguments">obj</var><a class="copiable-link" href="#index-knots_002dexception_002dstack"> &para;</a></span></dt>
2025-06-24 10:55:10 +02:00
<dd><p>Undocumented procedure.
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-knots_002dexception_003f"><span class="category-def">Procedure: </span><span><strong class="def-name">knots-exception?</strong> <var class="def-var-arguments">obj</var><a class="copiable-link" href="#index-knots_002dexception_003f"> &para;</a></span></dt>
2025-06-24 10:55:10 +02:00
<dd><p>Undocumented procedure.
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-make_002dknots_002dexception"><span class="category-def">Procedure: </span><span><strong class="def-name">make-knots-exception</strong> <var class="def-var-arguments">a</var><a class="copiable-link" href="#index-make_002dknots_002dexception"> &para;</a></span></dt>
2025-06-24 10:55:10 +02:00
<dd><p>Undocumented procedure.
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-print_002dbacktrace_002dand_002dexception_002fknots"><span class="category-def">Procedure: </span><span><strong class="def-name">print-backtrace-and-exception/knots</strong> <var class="def-var-arguments">_ KEY: #:port</var><a class="copiable-link" href="#index-print_002dbacktrace_002dand_002dexception_002fknots"> &para;</a></span></dt>
<dd><p>Undocumented procedure.
2025-06-24 10:55:10 +02:00
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
<dl class="first-deffn">
2025-07-10 16:13:11 +01:00
<dt class="deffn" id="index-wait_002dwhen_002dsystem_002dclock_002dbehind"><span class="category-def">Procedure: </span><span><strong class="def-name">wait-when-system-clock-behind</strong><a class="copiable-link" href="#index-wait_002dwhen_002dsystem_002dclock_002dbehind"> &para;</a></span></dt>
<dd><p>Undocumented procedure.
2025-06-24 10:55:10 +02:00
</p>
</dd></dl>
2025-06-24 20:01:11 +01:00
</div>
2025-07-10 16:13:11 +01:00
<div class="subsection-level-extent" id="Record-Types">
<h4 class="subsection"><span>1.1.2 Record Types<a class="copiable-link" href="#Record-Types"> &para;</a></span></h4>
2025-06-24 20:01:11 +01:00
<dl class="first-deftp">
2025-07-10 16:13:11 +01:00
<dt class="deftp" id="index-_0026knots_002dexception"><span class="category-def">Record type: </span><span><strong class="def-name">&amp;knots-exception</strong><a class="copiable-link" href="#index-_0026knots_002dexception"> &para;</a></span></dt>
2025-06-24 10:55:10 +02:00
<dd><p>This record type has the following fields:
</p>
2025-06-24 20:01:11 +01:00
<ul class="itemize mark-bullet">
2025-07-10 16:13:11 +01:00
<li><code class="code">stack</code></li></ul>
2025-06-24 10:55:10 +02:00
</dd></dl>
2025-06-24 20:01:11 +01:00
<hr>
</div>
</div>
</div>
<div class="appendix-level-extent" id="Version-History">
<div class="nav-panel">
<p>
Next: <a href="#Copying-Information" accesskey="n" rel="next">Copying Information</a>, Previous: <a href="#API" accesskey="p" rel="prev">API</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="appendix" id="Version-History-1"><span>Appendix A Version History<a class="copiable-link" href="#Version-History-1"> &para;</a></span></h2>
<dl class="table">
<dt><em class="dfn">Version 0.Y.0, Month DD, 20YY</em></dt>
<dd><ul class="itemize mark-bullet">
<li>No initial release has yet been made.
</li></ul>
</dd>
</dl>
<hr>
</div>
<div class="appendix-level-extent" id="Copying-Information">
<div class="nav-panel">
2025-06-24 10:55:10 +02:00
<p>
2025-06-24 20:01:11 +01:00
Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previous: <a href="#Version-History" accesskey="p" rel="prev">Version History</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="appendix" id="Copying-Information-1"><span>Appendix B Copying Information<a class="copiable-link" href="#Copying-Information-1"> &para;</a></span></h2>
<p>Copyright © 2024, 2025 Christopher Baines &lt;mail@cbaines.net&gt;
2025-06-24 10:55:10 +02:00
</p>
2025-06-24 20:01:11 +01:00
<p>This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
</p>
<hr>
</div>
<div class="unnumbered-level-extent" id="Concept-Index">
<div class="nav-panel">
2025-06-24 10:55:10 +02:00
<p>
2025-06-24 20:01:11 +01:00
Next: <a href="#Data-Type-Index" accesskey="n" rel="next">Data Type Index</a>, Previous: <a href="#Copying-Information" accesskey="p" rel="prev">Copying Information</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="unnumbered" id="Concept-Index-1"><span>Concept Index<a class="copiable-link" href="#Concept-Index-1"> &para;</a></span></h2>
<hr>
</div>
<div class="unnumbered-level-extent" id="Data-Type-Index">
<div class="nav-panel">
<p>
Next: <a href="#Procedure-Index" accesskey="n" rel="next">Procedure Index</a>, Previous: <a href="#Concept-Index" accesskey="p" rel="prev">Concept Index</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="unnumbered" id="Data-Type-Index-1"><span>Data Type Index<a class="copiable-link" href="#Data-Type-Index-1"> &para;</a></span></h2>
<div class="printindex tp-printindex">
<table class="tp-entries-printindex" border="0">
<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Data-Type-Index_tp_symbol-1">&amp;</th></tr>
2025-07-10 16:13:11 +01:00
<tr><td></td><td class="printindex-index-entry"><a href="#index-_0026knots_002dexception"><code>&amp;knots-exception</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
2025-06-24 10:55:10 +02:00
</table>
2025-06-24 20:01:11 +01:00
</div>
2025-06-24 10:55:10 +02:00
2025-06-24 20:01:11 +01:00
<hr>
</div>
<div class="unnumbered-level-extent" id="Procedure-Index">
<div class="nav-panel">
2025-06-24 10:55:10 +02:00
<p>
2025-06-24 20:01:11 +01:00
Next: <a href="#Variable-Index" accesskey="n" rel="next">Variable Index</a>, Previous: <a href="#Data-Type-Index" accesskey="p" rel="prev">Data Type Index</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="unnumbered" id="Procedure-Index-1"><span>Procedure Index<a class="copiable-link" href="#Procedure-Index-1"> &para;</a></span></h2>
<div class="printindex fn-printindex">
<table class="fn-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-C"><b>C</b></a>
&nbsp;
2025-07-10 16:13:11 +01:00
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-K"><b>K</b></a>
2025-06-24 20:01:11 +01:00
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-M"><b>M</b></a>
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-P"><b>P</b></a>
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
<table class="fn-entries-printindex" border="0">
<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Procedure-Index_fn_letter-C">C</th></tr>
2025-07-10 16:13:11 +01:00
<tr><td></td><td class="printindex-index-entry"><a href="#index-call_002dwith_002ddefault_002dio_002dwaiters"><code>call-with-default-io-waiters</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-call_002dwith_002dsigint"><code>call-with-sigint</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
2025-07-10 16:13:11 +01:00
<tr><th id="Procedure-Index_fn_letter-K">K</th></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-knots_002dexception_002dstack"><code>knots-exception-stack</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
<tr><td></td><td class="printindex-index-entry"><a href="#index-knots_002dexception_003f"><code>knots-exception?</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Procedure-Index_fn_letter-M">M</th></tr>
2025-07-10 16:13:11 +01:00
<tr><td></td><td class="printindex-index-entry"><a href="#index-make_002dknots_002dexception"><code>make-knots-exception</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Procedure-Index_fn_letter-P">P</th></tr>
2025-07-10 16:13:11 +01:00
<tr><td></td><td class="printindex-index-entry"><a href="#index-print_002dbacktrace_002dand_002dexception_002fknots"><code>print-backtrace-and-exception/knots</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
<tr><th id="Procedure-Index_fn_letter-W">W</th></tr>
2025-07-10 16:13:11 +01:00
<tr><td></td><td class="printindex-index-entry"><a href="#index-wait_002dwhen_002dsystem_002dclock_002dbehind"><code>wait-when-system-clock-behind</code></a></td><td class="printindex-index-section"><a href="#knots">knots</a></td></tr>
2025-06-24 20:01:11 +01:00
<tr><td colspan="3"><hr></td></tr>
</table>
<table class="fn-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-C"><b>C</b></a>
&nbsp;
2025-07-10 16:13:11 +01:00
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-K"><b>K</b></a>
2025-06-24 20:01:11 +01:00
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-M"><b>M</b></a>
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-P"><b>P</b></a>
&nbsp;
<a class="summary-letter-printindex" href="#Procedure-Index_fn_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
</div>
2025-06-24 10:55:10 +02:00
<hr>
2025-06-24 20:01:11 +01:00
</div>
<div class="unnumbered-level-extent" id="Variable-Index">
<div class="nav-panel">
2025-06-24 10:55:10 +02:00
<p>
2025-06-24 20:01:11 +01:00
Previous: <a href="#Procedure-Index" accesskey="p" rel="prev">Procedure Index</a>, Up: <a href="#Top" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<h2 class="unnumbered" id="Variable-Index-1"><span>Variable Index<a class="copiable-link" href="#Variable-Index-1"> &para;</a></span></h2>
</div>
</div>
2025-06-24 10:55:10 +02:00
</body>
</html>