package zelus
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=cb0f7bacc33a4bb425683e2def67359fcf6d402545a32f7f953c4822a9a01862
md5=83fb886e4b14ce286e7a6eb59248be4b
doc/zelus.zlcompilerlibs/Typing/index.html
Module Typing
val find_value : Location.location -> Lident.t -> Global.value_desc Global.infoval find_type : Location.location -> Lident.t -> Global.type_desc Global.infoval find_constr :
Location.location ->
Lident.t ->
Global.constr_desc Global.infoval find_label : Location.location -> Lident.t -> Global.label_desc Global.infoval unify : Location.location -> Deftypes.typ -> Deftypes.typ -> unitThe main unification functions
val equal_sizes : Location.location -> Deftypes.size -> Deftypes.size -> unitval unify_expr : Zelus.exp -> Deftypes.typ -> Deftypes.typ -> unitval unify_pat : Zelus.pattern -> Deftypes.typ -> Deftypes.typ -> unitval less_than : Location.location -> Deftypes.kind -> Deftypes.kind -> unitval type_is_in_kind :
Location.location ->
Deftypes.kind ->
Deftypes.typ ->
unitval lift : Location.location -> Deftypes.kind -> Deftypes.kind -> Deftypes.kindval sort_less_than :
Location.location ->
Deftypes.tsort ->
Deftypes.kind ->
unitval check_is_vec :
Location.location ->
Deftypes.typ ->
Deftypes.typ * Deftypes.sizeval expansive : Zelus.exp -> boolval check_statefull : Location.location -> Deftypes.kind -> unitWe emit a warning when a state is entered both by reset and history
val check_target_state :
Location.location ->
bool option ->
bool ->
bool optionval turn_vars_into_memories :
Deftypes.tentry Ident.Env.t ->
Deftypes.defnames ->
Deftypes.tentry Ident.Env.t * Deftypes.tentry Ident.Env.tval immediate : Deftypes.immediate -> Deftypes.typ_desc Deftypes.locTyping immediate values
val incorporate_into_env :
Deftypes.tentry Ident.Env.t ->
Deftypes.tentry Ident.Env.t ->
unitval vars : Zelus.pattern -> Ident.S.tVariables in a pattern
val var : Location.location -> 'a Ident.Env.t -> Ident.Env.key -> 'aTypes for local identifiers
val typ_of_var :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval last :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval derivative :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval pluseq :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval init :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval next :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
Deftypes.typval def :
Location.location ->
Deftypes.tentry Ident.Env.t ->
Ident.Env.key ->
unitval global :
Location.location ->
Deftypes.kind ->
Lident.t ->
Lident.qualident * Deftypes.typTypes for global identifiers
val global_with_instance :
Location.location ->
Deftypes.kind ->
Lident.t ->
Lident.qualident * Deftypes.typ_instance * Deftypes.typval label :
Location.location ->
Lident.t ->
Lident.qualident * Global.label_descval constr :
Location.location ->
Lident.t ->
Lident.qualident * Global.constr_descval get_all_labels :
Location.location ->
Deftypes.typ ->
Global.label_desc Global.info listval check_definitions_for_every_name :
Deftypes.defnames ->
Zelus.vardec list ->
Deftypes.defnameshave been removed
Typing a declaration
val combine : Location.location -> 'a -> Lident.t -> unitval constant :
Location.location ->
Deftypes.kind ->
Deftypes.typ ->
Deftypes.constant ->
unitval vardec_list :
Deftypes.kind ->
Zelus.vardec list ->
Ident.S.t ->
Deftypes.tentry Ident.Env.tComputes the set of names defined in a list of definitions
val env_of_eq_list :
Deftypes.kind ->
Zelus.eq list ->
Deftypes.tentry Ident.Env.tval intro_sort_of_var : Deftypes.kind -> Deftypes.tsortval env_of_scondpat :
Deftypes.kind ->
Zelus.scondpat ->
Deftypes.tentry Ident.Env.tval env_of_statepat :
Deftypes.kind ->
Zelus.statepatdesc Zelus.localized ->
Deftypes.tentry Ident.Env.tval env_of_pattern_list :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.pattern list ->
Deftypes.tentry Ident.Env.tval env_of_pattern :
Deftypes.kind ->
Zelus.pattern ->
Deftypes.tentry Ident.Env.tval pattern :
Deftypes.tentry Ident.Env.t ->
Zelus.pattern ->
Deftypes.typ ->
unitTyping patterns
val pattern_list :
Deftypes.tentry Ident.Env.t ->
Zelus.pattern list ->
Deftypes.typ list ->
unitval check_total_pattern : Patternsig.LANG.pattern_ast -> unitval check_total_pattern_list : Patternsig.LANG.pattern_ast list -> unitval match_handlers :
(Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
'a ->
'b ->
Deftypes.defnames) ->
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
bool ref ->
'a Zelus.match_handler list ->
Deftypes.typ ->
'b ->
Deftypes.defnamesTyping a pattern matching. Returns defined names
val present_handlers :
(Deftypes.kind ->
bool ->
Deftypes.tentry Ident.Env.t ->
Zelus.scondpat ->
'a) ->
(Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
'b ->
'c ->
Deftypes.defnames) ->
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
'b Zelus.present_handler list ->
'b option ->
'c ->
Deftypes.defnamesit is the kind of the context.
val expression :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.exp ->
Deftypes.typval size : Deftypes.tentry Ident.Env.t -> Zelus.size -> Deftypes.sizeTyping a size expression
val size_of_exp : Zelus.exp -> Deftypes.sizeConvert an expression into a size expression
val operator :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Location.location ->
Zelus.op ->
Zelus.exp list ->
Deftypes.typThe type of primitives and imported functions
val period :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.exp Zelus.period ->
unitval expect :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.exp ->
Deftypes.typ ->
unitTyping an expression with expected type expected_type
val apply :
Location.location ->
bool ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.exp ->
Zelus.exp list ->
Deftypes.typval equation :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.eq ->
Deftypes.defnamesTyping an equation. Returns the set of defined names
val equation_list :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.eq list ->
Deftypes.defnamesval present_handler_exp_list :
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.exp Zelus.present_handler list ->
Zelus.exp option ->
Deftypes.typ ->
Deftypes.defnamesType a present handler when the body is an expression
val present_handler_block_eq_list :
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.eq list Zelus.block Zelus.present_handler list ->
Zelus.eq list Zelus.block option ->
Deftypes.defnamesval match_handler_block_eq_list :
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.total ref ->
Zelus.eq list Zelus.block Zelus.match_handler list ->
Deftypes.typ ->
Deftypes.defnamesval match_handler_exp_list :
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.total ref ->
Zelus.exp Zelus.match_handler list ->
Deftypes.typ ->
Deftypes.typ ->
Deftypes.defnamesval block_eq_list :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.eq list Zelus.block ->
Deftypes.tentry Ident.Env.t * Deftypes.defnamesval local :
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.local ->
Deftypes.tentry Ident.Env.tval scondpat :
Deftypes.kind ->
bool ->
Deftypes.tentry Ident.Env.t ->
Zelus.scondpat ->
unitTyping a signal condition
val typing_state :
Deftypes.tentry Ident.Env.t ->
state Ident.Env.t ->
bool ->
Zelus.state_exp ->
unitval mark_reset_state : state Ident.Env.t -> Zelus.state_handler list -> unitval automaton_handlers :
Zelus.is_weak ->
Location.location ->
Deftypes.kind ->
Deftypes.tentry Ident.Env.t ->
Zelus.state_handler list ->
Zelus.state_exp option ->
Deftypes.defnamesTyping an automaton. Returns defined names
val no_unbounded_name :
Location.location ->
Ident.S.t ->
Deftypes.typ ->
Deftypes.typCheck that size variables are all bounded
val funtype :
Location.location ->
Deftypes.kind ->
Zelus.pattern list ->
Deftypes.typ list ->
Deftypes.typ ->
Deftypes.typval constdecl : 'a -> bool -> Zelus.exp -> Deftypes.typ_schemeval fundecl : Location.location -> 'a -> Zelus.funexp -> Deftypes.typ_schemeval implementation :
Format.formatter ->
bool ->
Zelus.implementation_desc Zelus.localized ->
unitval implementation_list :
Format.formatter ->
bool ->
Zelus.implementation_desc Zelus.localized list ->
Zelus.implementation_desc Zelus.localized list