package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type (!'a1, !_) thunk =
  1. | Value : 'a -> ('a, 'b) thunk
  2. | Thunk : 'a0 Lazy.t -> ('a0, [ `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