changeset 44386 | 4048ca2658b7 |
parent 44198 | a41ea419de68 |
child 44387 | 0f0ba362ce50 |
--- a/src/Pure/Concurrent/lazy_sequential.ML Tue Aug 23 12:20:12 2011 +0200 +++ b/src/Pure/Concurrent/lazy_sequential.ML Tue Aug 23 15:48:41 2011 +0200 @@ -45,6 +45,14 @@ in result end; fun force r = Exn.release (force_result r); +fun map f x = lazy (fn () => f (force x)); + + +(* future evaluation *) + +fun future params x = + if is_finished x then Future.value_result (force_result x) + else (singleton o Future.forks) params (fn () => force x); end; end;