From e222378ecc70340a62d9327b5a74fa349c501d6b Mon Sep 17 00:00:00 2001 From: Sam Anklesaria <sam@Tintin.local> Date: Mon, 4 May 2009 18:38:29 -0500 Subject: [PATCH] reduce-r (foldr for sequences) --- core/sequences/sequences.factor | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index d60602fc71..d03e46bcef 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2005, 2009 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel kernel.private slots.private math +USING: accessors kernel kernel.private locals slots.private math math.private math.order ; IN: sequences @@ -916,3 +916,10 @@ PRIVATE> [ array-flip ] [ generic-flip ] if ] [ generic-flip ] if ] unless ; + +:: reduce-r + ( list identity quot: ( obj1 obj2 -- obj ) -- result ) + list empty? + [ identity ] + [ list rest identity quot reduce-r list first quot call ] if ; + inline recursive \ No newline at end of file