r7rs-small-texinfo

Unnamed repository; edit this file 'description' to name the repository.
git clone https://kaka.farm/~git/r7rs-small-texinfo
Log | Files | Refs

commit 3c963cfff7918a76646ef442272c928210844b64
parent 1d321ee53af293679b1572ec2138a663c357abb4
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date:   Thu,  1 Feb 2024 14:33:32 -0500

Exception handling: Texify.

Diffstat:
Mdoc/r7rs-small/derived/exception-handling.texinfo | 34++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/doc/r7rs-small/derived/exception-handling.texinfo b/doc/r7rs-small/derived/exception-handling.texinfo @@ -1,22 +1,32 @@ @node Exception handling @subsection Exception handling -syntax: (guard (@svar{variable} - @svar{cond clause1} @svar{cond clause2} @dots{}) - @svar{body}) +@c TODO: Determine whether we can get the full form into the +@c deffin without making it unreadable. +@deffn syntax guard + +@display +@code{(guard (}@svar{variable} + @svar{cond clause1} @svar{cond clause2} @dots{}@code{)} + @svar{body}@code{)} +@end display Syntax: Each @svar{cond clause} is as in the specification of cond. -Semantics: The @svar{body} is evaluated with an exception handler that binds the raised object -(see raise in section 6.11) to @svar{variable} and, within the scope of that binding, evaluates the -clauses as if they were the clauses of a cond expression. That implicit cond expression is -evaluated with the continuation and dynamic environment of the guard expression. If -every @svar{cond clause}'s @svar{test} evaluates to #f and there is no else clause, then -raise-continuable is invoked on the raised object within the dynamic environment of the -original call to raise or raise-continuable, except that the current exception handler is that -of the guard expression. +Semantics: The @svar{body} is evaluated with an exception +handler that binds the raised object (see @code{raise} in @ref{Exceptions}) +to @svar{variable} and, within the scope of +that binding, evaluates the clauses as if they were the clauses of a +@code{cond} expression. That implicit @code{cond} expression is evaluated with the +continuation and dynamic environment of the @code{guard} expression. If every +@svar{cond clause}'s @svar{test} evaluates to @code{#f} and there +is no else clause, then +@code{raise-continuable} is invoked on the raised object within the dynamic +environment of the original call to @code{raise} +or @code{raise-continuable}, except that the current +exception handler is that of the @code{guard} expression. -See section 6.11 for a more complete discussion of exceptions. +@xref{Exceptions} for a more complete discussion of exceptions. @example (guard (condition