package archetype

  1. Overview
  2. Docs
type t
type label_kind = [
  1. | `Plain
  2. | `Code
  3. | `Loop of A.ptyp
]
type record = [
  1. | `Pre of A.lident
  2. | `Full of recorddecl
]
type state = [
  1. | `Pre of A.lident
  2. | `Full of statedecl
]
type asset = [
  1. | `Pre of A.lident
  2. | `Full of assetdecl
]
type entry = [
  1. | `Label of t * label_kind
  2. | `State of state
  3. | `StateByCtor of statedecl * A.lident
  4. | `Type of A.ptyp
  5. | `Local of A.ptyp * locvarkind
  6. | `Global of vardecl
  7. | `Asset of asset
  8. | `Record of record
  9. | `Event of record
  10. | `Entry of tentrydecl
  11. | `Function of fundecl
  12. | `Field of fullname * [ `Asset | `Record | `Event ]
  13. | `Context of assetdecl * Ident.ident option
  14. | `Import of t importdecl
]
and locvarkind = [
  1. | `Standard
  2. | `Const
  3. | `Argument
  4. | `Pattern
  5. | `LoopIndex
]
type cache
type ecallback = error -> unit
val create : name:A.lident -> ?cache:cache -> ?path:string -> ecallback -> t
val emit_error : t -> error -> unit
val name_free : t -> Ident.ident -> [ `Free | `Clash of Location.t option ]
val lookup_entry : t -> longident -> (A.lident * entry) option
val open_ : t -> t
val close : t -> t
val inscope : t -> (t -> t * 'a) -> t * 'a
val name : t -> A.lident
val relative : t -> fullname -> longident
module Label : sig ... end
module Type : sig ... end
module Local : sig ... end
module Var : sig ... end
module Function : 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
module Import : sig ... end
module FunctionProperties : sig ... end