package elpi

  1. Overview
  2. Docs

Module API.RawOpaqueDataSource

Low level module for OpaqueData

Sourcetype name = string
Sourcetype doc = string
Sourcetype t
Sourcetype 'a declaration = 'a OpaqueData.declaration = {
  1. name : name;
  2. doc : doc;
  3. pp : Format.formatter -> 'a -> unit;
  4. compare : 'a -> 'a -> int;
  5. hash : 'a -> int;
  6. hconsed : bool;
  7. constants : (name * 'a) list;
}

If the data_hconsed is true, then the cin function below will automatically hashcons the data using the eq and hash functions.

Sourcetype 'a cdata = private {
  1. cin : 'a -> Data.term;
  2. isc : t -> bool;
  3. cout : t -> 'a;
  4. name : string;
}
Sourceval declare : 'a declaration -> 'a cdata * 'a Conversion.t
Sourceval pp : Format.formatter -> t -> unit
Sourceval show : t -> string
Sourceval equal : t -> t -> bool
Sourceval compare : t -> t -> int
Sourceval hash : t -> int
Sourceval name : t -> string
Sourceval hcons : t -> t
Sourceval ty2 : 'a cdata -> t -> t -> bool
Sourceval morph1 : 'a cdata -> ('a -> 'a) -> t -> Data.term
Sourceval morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> Data.term
Sourceval map : 'a cdata -> 'b cdata -> ('a -> 'b) -> t -> Data.term
Sourceval int : int cdata
Sourceval is_int : t -> bool
Sourceval to_int : t -> int
Sourceval of_int : int -> Data.term
Sourceval float : float cdata
Sourceval is_float : t -> bool
Sourceval to_float : t -> float
Sourceval of_float : float -> Data.term
Sourceval string : string cdata
Sourceval is_string : t -> bool
Sourceval to_string : t -> string
Sourceval of_string : string -> Data.term
Sourceval is_loc : t -> bool
Sourceval to_loc : t -> Ast.Loc.t
Sourceval of_loc : Ast.Loc.t -> Data.term
OCaml

Innovation. Community. Security.