Gist.ExprType expressions for gist processors.
This is typegist's view on the OCaml type expression language.
type 'a t = | Scalar : 'a Scalar.t -> 'a t| Tuple : 't Tuple.t -> 't t| Record : 'r Record.t -> 'r t| Variant_like : 'v Variant_like.t -> 'v t| Array_like : ('elt, 'array) Array_like.t -> 'array t| Map_like : ('k, 'v, 'map) Map_like.t -> 'map t| Cell_like : ('a, 'cell) Cell_like.t -> 'cell t| Func : ('a, 'b) Func.t -> ('a -> 'b) t| Abstract : 'a Abstract.t -> 'a t| View : ('a, 'b) View.t -> 'a t| Rec : 'a gist lazy_t -> 'a tThe type for type expressions.
fold_gists f acc expr recursively folds over all unique (as per Gist.id) gists occurences in expr. A gist with given identity and its definition are folded over only once even if it is present multiple times.
map_gists f expr recursively maps all gists in expr. Expressions of gists returned by f g are also mapped.
val pp : Stdlib.Format.formatter -> 'a t -> unitpp formats a likely valid OCaml type expression for the type gist expression. Named typed gists found in the expression are not expanded to their definition.