package archetype

  1. Overview
  2. Docs
type t
type label_kind = [
  1. | `Plain
  2. | `Code
  3. | `Loop of A.ptyp
]
type entry = [
  1. | `Label of t * label_kind
  2. | `State of statedecl
  3. | `StateByCtor of statedecl * A.lident
  4. | `Type of A.ptyp
  5. | `Local of A.ptyp * locvarkind
  6. | `Global of vardecl
  7. | `Definition of definitiondecl
  8. | `Asset of assetdecl
  9. | `Record of recorddecl
  10. | `Event of recorddecl
  11. | `Entry of t tentrydecl
  12. | `Function of t fundecl
  13. | `Predicate of preddecl
  14. | `Field of Ident.ident * [ `Asset | `Record | `Event ]
  15. | `Context of assetdecl * Ident.ident option
]
and locvarkind = [
  1. | `Standard
  2. | `Const
  3. | `Argument
  4. | `Pattern
  5. | `LoopIndex
]
type ecallback = error -> unit
val create : ecallback -> t
val emit_error : t -> error -> unit
val name_free : t -> Ident.ident -> [ `Free | `Clash of Location.t option ]
val lookup_entry : t -> Ident.ident -> entry option
val open_ : t -> t
val close : t -> t
val inscope : t -> (t -> t * 'a) -> t * 'a
module Label : sig ... end
module Type : sig ... end
module Local : sig ... end
module Definition : sig ... end
module Var : sig ... end
module Function : sig ... end
module Predicate : sig ... end
module State : sig ... end
module Record : sig ... end
module Event : sig ... end
module Asset : sig ... end
module Tentry : sig ... end
module Context : sig ... end
OCaml

Innovation. Community. Security.