DAst
Lazy AST node wrapper. Only used for glob_constr as of today.
glob_constr
type ('a, _) thunk =
| Value : 'a -> ( 'a, 'b ) thunk
| Thunk : 'a Stdlib.Lazy.t -> ( 'a, [ `thunk ] ) thunk
type ('a, 'b) t = ( 'a, 'b ) thunk CAst.t
val get : ( 'a, 'b ) t -> 'a
val get_thunk : ( 'a, 'b ) thunk -> 'a
val make : ?loc:Loc.t -> 'a -> ( 'a, 'b ) t
val delay : ?loc:Loc.t -> ( unit -> 'a ) -> ( 'a, [ `thunk ] ) t
val force : ( 'a, 'b ) t -> ( 'a, 'b ) t
val map : ( 'a -> 'b ) -> ( 'a, 'c ) t -> ( 'b, 'c ) t
val map_with_loc : ( ?loc:Loc.t -> 'a -> 'b ) -> ( 'a, 'c ) t -> ( 'b, 'c ) t
val map_from_loc : ( ?loc:Loc.t -> 'a -> 'b ) -> 'a Loc.located -> ( 'b, 'c ) t
val with_val : ( 'a -> 'b ) -> ( 'a, 'c ) t -> 'b
val with_loc_val : ( ?loc:Loc.t -> 'a -> 'b ) -> ( 'a, 'c ) t -> 'b