Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
optional_thunk.ml
1 2 3 4 5 6 7 8 9 10 11 12
type t = unit -> unit let none = Sys.opaque_identity (fun () -> ()) let some f = if f == none then failwith "Optional_thunk: this function is not representable as a some value"; f let is_none t = t == none let is_some t = not (is_none t) let call_if_some t = t () let unchecked_value t = t