1 (* Written by Stephen
Weeks (sweeks@sweeks
.com
). *)
7 val addPeek
: unit
-> {add
: t
* 'a
-> unit
,
11 datatype t
= T
of exn list ref
13 fun new () = T (ref
[])
18 fun add (T r
, x
) = r
:= E x
:: !r
27 in {add
= add
, peek
= peek
}
36 val {add
, peek
} = Plist
.addPeek ()
41 else loop (i
- 1, ac
+ valOf (peek l
))
42 val n
= loop (10000000, 0)
43 val _
= print (concat
[Int.toString n
, "\n"])
52 else (inner (); loop (i
- 1))