From 32a95a79e42f74b3752d7e0dc50cb8f8e8da96bc Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 6 Jun 2008 01:56:40 -0500 Subject: [PATCH] A bit of a cleanup --- extra/persistent-vectors/persistent-vectors.factor | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/extra/persistent-vectors/persistent-vectors.factor b/extra/persistent-vectors/persistent-vectors.factor index 6ed43ca0af..5e25be5dd3 100644 --- a/extra/persistent-vectors/persistent-vectors.factor +++ b/extra/persistent-vectors/persistent-vectors.factor @@ -1,7 +1,7 @@ ! Based on Clojure's PersistentVector by Rich Hickey. USING: math accessors kernel sequences.private sequences arrays -combinators parser prettyprint.backend fry debugger ; +combinators parser prettyprint.backend ; IN: persistent-vectors ERROR: empty-error pvec ; @@ -64,7 +64,6 @@ M: persistent-vector nth-unsafe swap 1array >>children ; : 2node ( first second -- node ) - 2dup [ level>> ] bi@ assert= [ 2array ] [ drop level>> 1+ ] 2bi node boa ; : new-child ( new-child node -- node' expansion/f ) @@ -102,9 +101,9 @@ M: persistent-vector ppush ( obj pvec -- pvec' ) clone [ new-nth ] change-children ; : node-change-nth ( i node quot -- node' ) - [ clone ] dip '[ - clone [ , change-nth ] keep - ] change-children ; inline + [ clone ] dip [ + [ clone ] dip [ change-nth ] 2keep drop + ] curry change-children ; inline : (new-nth) ( val i node -- node' ) dup level>> 0 = [