]> gitweb.factorcode.org Git - factor.git/commitdiff
interval-maps: clean up some shuffling
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 2 Feb 2009 02:30:54 +0000 (20:30 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 2 Feb 2009 02:30:54 +0000 (20:30 -0600)
basis/interval-maps/interval-maps.factor

index 4fd4592ee15cae45e85984fdfd19868bfe97a243..63a5740845ef03117df61006a834c27b2f26a40e 100644 (file)
@@ -43,13 +43,13 @@ PRIVATE>
     >intervals ensure-disjoint interval-map boa ;\r
 \r
 : <interval-set> ( specification -- map )\r
-    [ dup 2array ] map <interval-map> ;\r
+    dup zip <interval-map> ;\r
 \r
 :: coalesce ( alist -- specification )\r
     ! Only works with integer keys, because they're discrete\r
     ! Makes 2array keys\r
     [\r
-        alist sort-keys unclip first2 dupd roll\r
+        alist sort-keys unclip swap [ [ first dup ] [ second ] bi ] dip\r
         [| oldkey oldval key val | ! Underneath is start\r
             oldkey 1+ key =\r
             oldval val = and\r