diff options
author | Andreas Rottmann <a.rottmann@gmx.at> | 2010-10-03 12:06:38 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-10-03 12:09:50 +0200 |
commit | fdc8fd46fd02d072b6b5f183178862650fe36305 (patch) | |
tree | a26cfae6ebd37c4a6a1d4c4ca6dbbec9ed164513 /module/srfi/srfi-42.scm | |
parent | 6e3d49a0731bca22d8c3b4151a5a7121802a97c1 (diff) | |
download | guile-fdc8fd46fd02d072b6b5f183178862650fe36305.tar.gz |
Add implementation of SRFI 42
* module/srfi/srfi-42/ec.scm: New file; reference implementation of
SRFI 42.
* module/srfi/srfi-42.scm: New file; module for SRFI 42.
* module/Makefile.am (SRFI_SOURCES): Add srfi/srfi-42.scm.
(NOCOMP_SOURCES): Add srfi/srfi-42/ec.scm.
* test-suite/tests/srfi-42.test: New file; test suite for SRFI 42.
* test-suite/Makefile.am: SCM_TESTS: Add tests/srfi-42.test.
Diffstat (limited to 'module/srfi/srfi-42.scm')
-rw-r--r-- | module/srfi/srfi-42.scm | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/module/srfi/srfi-42.scm b/module/srfi/srfi-42.scm new file mode 100644 index 000000000..0aaaf8f3f --- /dev/null +++ b/module/srfi/srfi-42.scm @@ -0,0 +1,64 @@ +;;; srfi-42.scm --- Eager comprehensions + +;; Copyright (C) 2010 Free Software Foundation, Inc. + +;; 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. + +;; This library is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Lesser General Public License for more details. + +;; You should have received a copy of the GNU Lesser General Public +;; License along with this library. If not, see +;; <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This module is not yet documented in the Guile Reference Manual. + +;;; Code: + +(define-module (srfi srfi-42) + #:export (: + :-dispatch-ref + :-dispatch-set! + :char-range + :dispatched + :do + :generator-proc + :integers + :let + :list + :parallel + :port + :range + :real-range + :string + :until + :vector + :while + any?-ec + append-ec + dispatch-union + do-ec + every?-ec + first-ec + fold-ec + fold3-ec + last-ec + list-ec + make-initial-:-dispatch + max-ec + min-ec + product-ec + string-append-ec + string-ec + sum-ec + vector-ec + vector-of-length-ec)) + +(include-from-path "srfi/srfi-42/ec.scm") |