changeset 23442 | 028e39e5e8f3 |
child 23510 | 4521fead5609 |
23441:ee218296d635 | 23442:028e39e5e8f3 |
---|---|
1 (* ========================================================================= *) |
|
2 (* SUPPORT FOR LAZY EVALUATION *) |
|
3 (* Copyright (c) 2007 Joe Hurd, distributed under the GNU GPL version 2 *) |
|
4 (* ========================================================================= *) |
|
5 |
|
6 signature Lazy = |
|
7 sig |
|
8 |
|
9 type 'a lazy |
|
10 |
|
11 val delay : (unit -> 'a) -> 'a lazy |
|
12 |
|
13 val force : 'a lazy -> 'a |
|
14 |
|
15 val memoize : (unit -> 'a) -> unit -> 'a |
|
16 |
|
17 end |