rnrs/6/conditions.scm \
rnrs/6/control.scm \
rnrs/6/exceptions.scm \
+ rnrs/6/lists.scm \
rnrs/6/syntax-case.scm \
rnrs/arithmetic/6/bitwise.scm \
rnrs/bytevector.scm \
+ rnrs/io/6/simple.scm \
+ rnrs/io/ports.scm \
rnrs/records/6/inspection.scm \
rnrs/records/6/procedural.scm \
- rnrs/records/6/syntactic.scm \
- rnrs/io/ports.scm \
- rnrs/io/6/simple.scm
+ rnrs/records/6/syntactic.scm
EXTRA_DIST += scripts/ChangeLog-2008
EXTRA_DIST += scripts/README
--- /dev/null
+;;; lists.scm --- The R6RS list utilities library
+
+;; 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, write to the Free Software
+;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+\f
+
+(library (rnrs lists (6))
+ (export find for-all exists filter partition fold-left fold-right remp remove
+ remv remq memp member memv memq assp assoc assv assq cons*)
+ (import (rnrs base (6))
+ (only (guile) (filter member memv memq assoc assv assq cons*))
+ (only (srfi srfi-1) (find partition fold-right filter-map))
+ (rename (srfi srfi-1) (fold fold-left)
+ (any exists)
+ (every for-all)
+ (remove remp)
+
+ (member memp-internal)
+ (assoc assp-internal)))
+
+ (define (remove obj list) (remp (lambda (elt) (equal? obj elt)) list))
+ (define (remv obj list) (remp (lambda (elt) (eqv? obj elt)) list))
+ (define (remq obj list) (remp (lambda (elt) (eq? obj elt)) list))
+
+ (define (memp pred list) (memp-internal #f list pred))
+ (define (assp pred list) (assp-internal #f list pred))
+)