diff -r 8967b42db2d5 -r 881e8a96e617 doc-src/Codegen/Thy/examples/example.ML --- 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 [];