doc-src/Codegen/Thy/examples/example.ML
changeset 48863 881e8a96e617
parent 38460 628fee3eb449
--- a/doc-src/Codegen/Thy/examples/example.ML	Mon Aug 20 13:39:41 2012 +0200
+++ b/doc-src/Codegen/Thy/examples/example.ML	Mon Aug 20 13:58:06 2012 +0200
@@ -1,5 +1,4 @@
 structure Example : sig
-  val id : 'a -> 'a
   val fold : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b
   val rev : 'a list -> 'a list
   datatype 'a queue = AQueue of 'a list * 'a list
@@ -8,10 +7,8 @@
   val enqueue : 'a -> 'a queue -> 'a queue
 end = struct
 
-fun id x = (fn xa => xa) x;
-
-fun fold f [] = id
-  | fold f (x :: xs) = fold f xs o f x;
+fun fold f (x :: xs) s = fold f xs (f x s)
+  | fold f [] s = s;
 
 fun rev xs = fold (fn a => fn b => a :: b) xs [];