Deleted the unused gtake and recoded enumerate to use foldl
authorpaulson
Thu, 25 Sep 1997 12:24:53 +0200
changeset 3712 242546f35f8e
parent 3711 2f86b403d975
child 3713 8a1f7d5b1eff
Deleted the unused gtake and recoded enumerate to use foldl
TFL/tfl.sml
--- a/TFL/tfl.sml	Thu Sep 25 12:20:24 1997 +0200
+++ b/TFL/tfl.sml	Thu Sep 25 12:24:53 1997 +0200
@@ -19,16 +19,8 @@
 
 val list_mk_type = U.end_itlist (curry(op -->));
 
-fun gtake f =
-  let fun grab(0,rst) = ([],rst)
-        | grab(n, x::rst) = 
-             let val (taken,left) = grab(n-1,rst)
-             in (f x::taken, left) end
-  in grab
-  end;
-
-fun enumerate L = 
- rev(#1(U.rev_itlist (fn x => fn (alist,i) => ((x,i)::alist, i+1)) L ([],0)));
+fun enumerate l = 
+     rev(#1(foldl (fn ((alist,i), x) => ((x,i)::alist, i+1)) (([],0), l)));
 
 fun stringize [] = ""
   | stringize [i] = Int.toString i