[Top][All Lists]

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

An implementation of srfi-134 for Guile

From: Arne Babenhauserheide
Subject: An implementation of srfi-134 for Guile
Date: Fri, 15 May 2020 00:03:13 +0200
User-agent: mu4e 1.4.4; emacs 26.3

Hi John, Hi Arthur,

I wrote an implementation of SRFI-134 for Guile. Attached are
the files both in SRFI-119 (wisp) syntax and in regular s-expressions,
as well as the same for the doctests module I use (it’s one I wrote
myself that enables me to have tests right in the
procedure-definitions) and the license files (gpl+lgpl, since LGPL
references GPL).

The motivation was that I needed good FIFO queues for a project for
students; and then I kept going to add the whole SRFI-134 API•

To run the tests, use

chmod +x deque.scm
./deque.scm --test

If it does not work, please tell me!

To run the wisp versions, you’ll need wisp installed. See

Or you can run them from the guarded-commands repository which directly
includes a copy of the wisp language definition, so running wisp files
grabs the local wisp version of this repository:

Almost all procedures have tests attached. You can recognize them by
this pattern:

(define (ideque-remove-front ideq)
    "Returns an ideque with the front element of ideque removed. It is an error 
for ideque to be empty. Takes O(1) time."
            (test-equal (ideque '())
                (ideque-remove-front (make-ideque '(1) '())))))

Forms like (test-equal …) are run as tests via srfi-64.

Best wishes,

Unpolitisch sein
heißt politisch sein
ohne es zu merken

Attachment: deque.scm
Description: Binary data

Attachment: doctests.scm
Description: Binary data

Attachment: deque.w
Description: Binary data

Attachment: doctests.w
Description: Binary data

Attachment: COPYING.gpl
Description: Binary data

Attachment: COPYING.lgpl
Description: Binary data

reply via email to

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