diff --git a/basis/hash2/hash2.factor b/basis/hash2/hash2.factor index 893273e664..f967687b66 100644 --- a/basis/hash2/hash2.factor +++ b/basis/hash2/hash2.factor @@ -14,25 +14,25 @@ IN: hash2 : ( size -- hash2 ) f ; : 2= ( a b pair -- ? ) - first2 swapd >r >r = r> r> = and ; inline + first2 swapd [ = ] 2dip = and ; inline : (assoc2) ( a b alist -- {a,b,val} ) - [ >r 2dup r> 2= ] find >r 3drop r> ; inline + [ [ 2dup ] dip 2= ] find [ 3drop ] dip ; inline : assoc2 ( a b alist -- value ) (assoc2) dup [ third ] when ; inline : set-assoc2 ( value a b alist -- alist ) - >r rot 3array r> ?push ; inline + [ rot 3array ] dip ?push ; inline : hash2@ ( a b hash2 -- a b bucket hash2 ) - >r 2dup hashcode2 r> [ length mod ] keep ; inline + [ 2dup hashcode2 ] dip [ length mod ] keep ; inline : hash2 ( a b hash2 -- value/f ) hash2@ nth [ assoc2 ] [ 2drop f ] if* ; : set-hash2 ( a b value hash2 -- ) - >r -rot r> hash2@ [ set-assoc2 ] change-nth ; + [ -rot ] dip hash2@ [ set-assoc2 ] change-nth ; : alist>hash2 ( alist size -- hash2 ) - [ over >r first3 r> set-hash2 ] reduce ; inline + [ over [ first3 ] dip set-hash2 ] reduce ; inline