Implement REDUCE-LEFT, which has semantics of old REDUCE.
authorChris Hanson <org/chris-hanson/cph>
Wed, 21 Mar 2007 15:06:16 +0000 (15:06 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 21 Mar 2007 15:06:16 +0000 (15:06 +0000)
v7/src/runtime/list.scm
v7/src/runtime/runtime.pkg

index b9a27e6663758086bcbfa95a93a1999d2382f1dc..12e9436f6b88c6e69f242448feff3445933e4afa 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: list.scm,v 14.54 2007/01/05 21:19:28 cph Exp $
+$Id: list.scm,v 14.55 2007/03/21 15:06:09 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -717,6 +717,9 @@ USA.
            (error:not-list list 'REDUCE))
        initial)))
 
+(define (reduce-left procedure initial list)
+  (reduce (lambda (a b) (procedure b a)) initial list))
+
 (define (reduce-right procedure initial list)
   (if (pair? list)
       (let loop ((first (car list)) (rest (cdr list)))
index 2aace2f527ee86cf93cb65ced55dd5d4b7667442..60f8068b20d04fb74e352f7a732d1fce5c0aec6a 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.612 2007/01/17 03:39:42 cph Exp $
+$Id: runtime.pkg,v 14.613 2007/03/21 15:06:16 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -2296,6 +2296,7 @@ USA.
          null?
          pair?
          reduce
+         reduce-left
          reduce-right
          restricted-keyword-list?
          reverse