package zelus

  1. Overview
  2. Docs
val print : Ident.t -> 'a
type error = {
  1. kind : kind;
  2. cycle : Causal.cycle;
  3. env : Causal.tentry Ident.Env.t;
}
and kind =
  1. | Cless_than of Defcaus.tc * Defcaus.tc
  2. | Cless_than_name of Ident.t * Defcaus.tc * Defcaus.tc
exception Error of Location.location * error
val error : Location.location -> error -> 'a
val message : Location.location -> error -> 'a
val less_than_name : Location.location -> Causal.tentry Ident.Env.t -> Ident.t -> Defcaus.tc -> Defcaus.tc -> unit

Typing a pattern. pattern env p = tc where tc is the type

Build an environment from a typing environment.

Build an environment with all entries synchronised on c

Build an environment for a set of written variables

Build an environment for a set of written variables

Build an environment from env by replacing the causality

val match_handlers : (Causal.tentry Ident.Env.t -> 'a -> 'b -> 'c) -> Causal.tentry Ident.Env.t -> 'a -> Defcaus.t -> 'b Zelus.match_handler list -> 'c list

Causality analysis of a match handler.

val present_handlers : (Causal.tentry Ident.Env.t -> 'a -> Zelus.scondpat -> Defcaus.t) -> (Causal.tentry Ident.Env.t -> 'b -> 'c -> 'd) -> Causal.tentry Ident.Env.t -> 'a -> Defcaus.t -> 'b -> 'c Zelus.present_handler list -> 'c option -> 'd list

Causality analysis of a present handler

causality of an expression. C | H |-cfree e: ct

Typing an application

Typing an operator

val exp_less_than_on_c : Causal.tentry Ident.Env.t -> Defcaus.t -> Zelus.exp -> Defcaus.t -> unit

Typing an expression with an expected causality

val exp_less_than : Causal.tentry Ident.Env.t -> Defcaus.t -> Zelus.exp -> Defcaus.tc -> unit
val equation_list : Causal.tentry Ident.Env.t -> Defcaus.t -> Zelus.eq list -> unit

Typing a list of equations env |-c eq list

val equation : Causal.tentry Ident.Env.t -> Defcaus.t -> Zelus.eq -> unit

Typing of an equation. env |-cfree eq

val present_handler_exp_list : Causal.tentry Ident.Env.t -> Defcaus.t -> Defcaus.t -> Defcaus.t -> Zelus.exp Zelus.present_handler list -> Zelus.exp option -> Defcaus.tc
val present_handler_block_eq_list : Causal.tentry Ident.Env.t -> Ident.S.t -> Defcaus.t -> Defcaus.t -> Defcaus.t -> Zelus.eq list Zelus.block Zelus.present_handler list -> Zelus.eq list Zelus.block option -> unit
val match_handler_block_eq_list : Causal.tentry Ident.Env.t -> Ident.S.t -> Defcaus.t -> Defcaus.t -> Zelus.eq list Zelus.block Zelus.match_handler list -> unit
OCaml

Innovation. Community. Security.