summaryrefslogtreecommitdiff
path: root/module/srfi/srfi-42.scm
diff options
context:
space:
mode:
authorAndreas Rottmann <a.rottmann@gmx.at>2010-10-03 12:06:38 +0200
committerAndy Wingo <wingo@pobox.com>2010-10-03 12:09:50 +0200
commitfdc8fd46fd02d072b6b5f183178862650fe36305 (patch)
treea26cfae6ebd37c4a6a1d4c4ca6dbbec9ed164513 /module/srfi/srfi-42.scm
parent6e3d49a0731bca22d8c3b4151a5a7121802a97c1 (diff)
downloadguile-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.scm64
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")