From 5c0450b2499f95410e844a6912fc40ffe949803a Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 11 Jun 2010 13:24:14 +0200 Subject: deprecate `collect' * module/ice-9/boot-9.scm: * module/ice-9/deprecated.scm (collect): Deprecate, and fix to ensure sequential collection. --- module/ice-9/deprecated.scm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'module/ice-9/deprecated.scm') diff --git a/module/ice-9/deprecated.scm b/module/ice-9/deprecated.scm index 138f20ae7..7aeda3424 100644 --- a/module/ice-9/deprecated.scm +++ b/module/ice-9/deprecated.scm @@ -49,7 +49,8 @@ get-option for-next-option display-usage-report - transform-usage-lambda) + transform-usage-lambda + collect) #:replace (module-ref-submodule module-define-submodule!)) @@ -548,3 +549,21 @@ better yet, use the repl from `(system repl repl)'.") (lambda (%opt %arg %new-argv) (case %opt ,@ transmogrified-cases)))))))) + + + +;;; {collect} +;;; +;;; Similar to `begin' but returns a list of the results of all constituent +;;; forms instead of the result of the last form. +;;; + +(define-syntax collect + (lambda (x) + (issue-deprecation-warning + "`collect' is deprecated. Define it yourself.") + (syntax-case x () + ((_) #''()) + ((_ x x* ...) + #''(let ((val x)) + (cons val (collect x* ...))))))) -- cgit v1.2.3