package archetype

  1. Overview
  2. Docs
type status =
  1. | Passed
  2. | Error
val status_to_yojson : status -> Yojson.Safe.t
val show_status : status -> Ppx_deriving_runtime.string
type position = {
  1. line : int;
  2. col : int;
  3. char : int;
}
val position_to_yojson : position -> Yojson.Safe.t
val show_position : position -> Ppx_deriving_runtime.string
type location = {
  1. start : position;
  2. end_ : position;
}
val location_to_yojson : location -> Yojson.Safe.t
val show_location : location -> Ppx_deriving_runtime.string
type kind =
  1. | StorageInvariant
  2. | Fails
  3. | Assert
  4. | PostCondition
  5. | SecurityPredicate
val kind_to_yojson : kind -> Yojson.Safe.t
type invariant = {
  1. label : string;
  2. formulas : string list;
}
val invariant_to_yojson : invariant -> Yojson.Safe.t
val show_invariant : invariant -> Ppx_deriving_runtime.string
type property = {
  1. kind : kind;
  2. id : string;
  3. formula : string;
  4. invariants : invariant list;
  5. location : location;
}
val property_to_yojson : property -> Yojson.Safe.t
val show_property : property -> Ppx_deriving_runtime.string
type 'a result = {
  1. status : status;
  2. obj : 'a;
}
val result_to_yojson : 'a. ('a -> Yojson.Safe.t) -> 'a result -> Yojson.Safe.t
type result_get_property = property list result
val result_get_property_to_yojson : result_get_property -> Yojson.Safe.t
val show_result_get_property : result_get_property -> Ppx_deriving_runtime.string
val mk_position : (int * int) -> int -> position
val mk_location : Location.t -> location
val mk_invariant : string -> string list -> invariant
val mk_property : ?invariants:invariant list -> kind -> string -> string -> location -> property
val mk_property_get_property : status -> property list -> result_get_property
val extract_properties : ParseTree.archetype -> property list
val print_json : ('a -> Yojson.Safe.t) -> 'a -> string
val process : Options.service_kind -> Core.from_input -> string
val process_from_string : Options.service_kind -> string -> string
OCaml

Innovation. Community. Security.