adamc@1077: fun foo (wrap : xbody -> transaction page) = wrap adamc@1077: Foo adamc@1077: adamc@1077: adamc@1077: fun bar (wrap : xbody -> transaction page) (n : int) = wrap adamc@1077: Bar; {[n]} adamc@1077: adamc@1077: adamc@1077: fun baz (n : int) (wrap : xbody -> transaction page) = wrap adamc@1077: Baz; {[n]} adamc@1077: adamc@1077: adamc@1077: fun middle (n : int) (wrap : xbody -> transaction page) (m : int) = wrap adamc@1077: Middle; {[n]}; {[m]} adamc@1077: adamc@1077: adamc@1077: fun crazy (f : int -> int) (b : bool) (wrap : xbody -> transaction page) (m : int) = wrap adamc@1077: Crazy; {[b]}; {[f m]} adamc@1077: adamc@1077: adamc@1077: fun wild (q : bool) (f : int -> int) (n : float) (wrap : xbody -> transaction page) (m : int) = wrap adamc@1077: Wild; {[n]}; {[f m]}; {[q]} adamc@1077: adamc@1077: adamc@1077: fun wrap x = return {x} adamc@1077: adamc@1077: fun wrapN n x = return {[n]}; {x} adamc@1077: adamc@1077: fun foo2 (wrap : xbody -> transaction page) = wrap adamc@1077: Foo adamc@1077: adamc@1077: adamc@1077: fun foo3 (n : int) = wrap adamc@1077: Foo adamc@1077: adamc@1077: adamc@1077: fun bar2 (n : int) (wrap : xbody -> transaction page) = wrap adamc@1077: Bar; n={[n]} adamc@1077: adamc@1077: adamc@1077: fun bar3 (n : int) = wrap adamc@1077: Bar adamc@1077: adamc@1077: adamc@1077: adamc@1077: fun main () = return adamc@1077: Foo adamc@1077: Bar adamc@1077: Baz adamc@1077: Middle adamc@1077: 2 * n) False wrap 2}>Crazy adamc@1077: 2 * n) 1.23 wrap 2}>Wild adamc@1077:
adamc@1077: Foo3 adamc@1077: Bar3 adamc@1077: