Update of /cvsroot/q-lang/q/stdlib
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv28395
Modified Files:
dict.q
Log Message:
cosmetic changes
Index: dict.q
===================================================================
RCS file: /cvsroot/q-lang/q/stdlib/dict.q,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** dict.q 21 Feb 2008 09:03:07 -0000 1.7
--- dict.q 21 Feb 2008 09:17:27 -0000 1.8
***************
*** 283,289 ****
emptydict = nil;
! dict Members:List = foldl insert emptydict Members;
! mkdict Val Keys:List = dict (zip Keys (mklist Val (#Keys)));
#nil = 0;
--- 283,289 ----
emptydict = nil;
! dict XYs:List = foldl insert emptydict XYs;
! mkdict Y Xs:List = dict (zip Xs (mklist Y (#Xs)));
#nil = 0;
***************
*** 299,326 ****
D1:Dict <> D2:Dict = members D1 <> members D2;
! (bin K V _ L R)!Key = L!Key if Key < K;
! = R!Key if Key > K;
! = V;
member nil _ = false;
! member (bin K _ _ L R) Key
! = member L Key if K > Key;
! = member R Key if K < Key;
! = true if K = Key;
! members nil = [];
! members (bin Key Val _ L R) = members L ++ [(Key, Val) | members R];
keys nil = [];
! keys (bin Key _ _ L R) = keys L ++ [Key | keys R];
vals nil = [];
! vals (bin _ Val _ L R) = vals L ++ [Val | vals R];
! last (bin Key Val _ _ nil) = (Key, Val);
! last (bin _ _ _ _ R) = last R;
! first (bin Key Val _ nil _) = (Key, Val);
! first (bin _ _ _ L _) = first L;
! insert D:Dict (Key, Val) = fst (inserta D Key Val);
update D:Dict KV = insert D KV;
--- 299,325 ----
D1:Dict <> D2:Dict = members D1 <> members D2;
! (bin X Y _ D1 D2)!X1 = D1!X1 if X1 < X;
! = D2!X1 if X1 > X;
! = Y;
member nil _ = false;
! member (bin X _ _ D1 D2) X1 = member D1 X1 if X > X1;
! = member D2 X1 if X < X1;
! = true if X = X1;
! members nil = [];
! members (bin X Y _ D1 D2) = members D1 ++ [(X,Y)|members D2];
keys nil = [];
! keys (bin X _ _ D1 D2) = keys D1 ++ [X|keys D2];
vals nil = [];
! vals (bin _ Y _ D1 D2) = vals D1 ++ [Y|vals D2];
! last (bin X Y _ _ nil) = (X,Y);
! last (bin _ _ _ _ D2) = last D2;
! first (bin X Y _ nil _) = (X,Y);
! first (bin _ _ _ D1 _) = first D1;
! insert D:Dict (X,Y) = fst (inserta D X Y);
update D:Dict KV = insert D KV;
|