Module Ty.MakeSType

Functor building simple types module. It guarantees that simple types use Symb.NAME for representing sorts.

Parameters

module B : Symb.NAME

Signature

type sort = B.t
type ty =
| Base of sort
| Arrow of ty * ty
val sort_equal : B.t -> B.t -> bool
val sort_list : unit -> B.t list
val get_sort : string -> B.t
val get_sort_opt : string -> B.t option
val sort_register : string -> B.t
val sort_to_string : B.t -> string
val base_ty_mk : sort -> ty
val arr_ty_mk : ty -> ty -> ty
val ty_equal : ty -> ty -> bool
val ty_order : ty -> int
val is_base : ty -> bool
val ty_to_string : ty -> string