[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SRFI 61: a more general `cond' clause

From: Stephen Compall
Subject: SRFI 61: a more general `cond' clause
Date: Fri, 29 Jul 2005 19:25:01 -0500

Attached is a patch against guile-core CVS HEAD to implement SRFI 61 in
the core.  While it makes COND incompatible with RnRS COND, it is
unlikely that any code has been written that would operate differently
with this cond -- the most reasonable case of these involves binding =>
as a variable, then referring to it in an essentially void context.

I also have a pure syntax-rules version, written by me, that uses if,
begin, lambda, apply, let, and call-with-values to completely implement
RnRS cond plus SRFI 61 cond.  It is not possible to translate an SRFI 61
cond form directly to RnRS cond without using non-local exits, and even
then the action forms are not in tail position, at least not the way
primitive cond is currently evaluated.  If you would rather use that
implementation, I will be happy to post it.

Here are changelog entries for srfi/ChangeLog, doc/ref/ChangeLog, and
libguile/ChangeLog, respectively.

2005-07-29  Stephen Compall  <address@hidden>

        * srfi-61.scm: New file.

        * (srfi_DATA): Add srfi-61.scm.

2005-07-29  Stephen Compall  <address@hidden>

        * srfi-modules.texi (SRFI-61): New section.
        (SRFI Support): Add SRFI-61 to menu.

2005-07-29  Stephen Compall  <address@hidden>

        * eval.c (scm_m_cond): Recognize SRFI 61 cond syntax.
        (CEVAL): Evaluate SRFI 61 cond clauses.

Stephen Compall

Attachment: srfi-61-1s11.patch
Description: Text Data

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]