package zelus
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=437ae922f1fda392efca3e37e8b8bb4c
sha512=d591cdbeedb8f3a7f568d6d4994de572093822cb354b112886326219174311715a71a35de57a4c2070eae349f65f0c8f3d6c2f6a5a79a8187bbffc687cd108a6
doc/zelus.zlcompilerlibs/Typing/index.html
Module Typing
val find_value :
Zlocation.location ->
Lident.t ->
Global.value_desc Global.infoval find_type : Zlocation.location -> Lident.t -> Global.type_desc Global.infoval find_constr :
Zlocation.location ->
Lident.t ->
Global.constr_desc Global.infoval find_label :
Zlocation.location ->
Lident.t ->
Global.label_desc Global.infoval unify : Zlocation.location -> Deftypes.typ -> Deftypes.typ -> unitThe main unification functions
val equal_sizes : Zlocation.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 : Zlocation.location -> Deftypes.kind -> Deftypes.kind -> unitval type_is_in_kind :
Zlocation.location ->
Deftypes.kind ->
Deftypes.typ ->
unitval lift :
Zlocation.location ->
Deftypes.kind ->
Deftypes.kind ->
Deftypes.kindval sort_less_than :
Zlocation.location ->
Deftypes.tsort ->
Deftypes.kind ->
unitval check_is_vec :
Zlocation.location ->
Deftypes.typ ->
Deftypes.typ * Deftypes.sizeval expansive : Zelus.exp -> boolval check_statefull : Zlocation.location -> Deftypes.kind -> unitWe emit a warning when a state is entered both by reset and history
val check_target_state :
Zlocation.location ->
bool option ->
bool ->
bool optionval turn_vars_into_memories :
Deftypes.tentry Zident.Env.t ->
Deftypes.defnames ->
Deftypes.tentry Zident.Env.t * Deftypes.tentry Zident.Env.tval immediate : Deftypes.immediate -> Deftypes.typ_desc Deftypes.locTyping immediate values
val incorporate_into_env :
Deftypes.tentry Zident.Env.t ->
Deftypes.tentry Zident.Env.t ->
unitval vars : Zelus.pattern -> Zident.S.tVariables in a pattern
val var : Zlocation.location -> 'a Zident.Env.t -> Zident.Env.key -> 'aTypes for local identifiers
val typ_of_var :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval last :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval derivative :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval pluseq :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval init :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval next :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
Deftypes.typval def :
Zlocation.location ->
Deftypes.tentry Zident.Env.t ->
Zident.Env.key ->
unitval global :
Zlocation.location ->
Deftypes.kind ->
Lident.t ->
Lident.qualident * Deftypes.typTypes for global identifiers
val global_with_instance :
Zlocation.location ->
Deftypes.kind ->
Lident.t ->
Lident.qualident * Deftypes.typ_instance * Deftypes.typval label :
Zlocation.location ->
Lident.t ->
Lident.qualident * Global.label_descval constr :
Zlocation.location ->
Lident.t ->
Lident.qualident * Global.constr_descval get_all_labels :
Zlocation.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 : Zlocation.location -> 'a -> Lident.t -> unitval constant :
Zlocation.location ->
Deftypes.kind ->
Deftypes.typ ->
Deftypes.constant ->
unitval vardec_list :
Deftypes.kind ->
Zelus.vardec list ->
Zident.S.t ->
Deftypes.tentry Zident.Env.tval build : (Zident.S.t * Zident.S.t) -> Zelus.eq -> Zident.S.t * Zident.S.tComputes the set of names defined in a list of definitions
val build_list :
(Zident.S.t * Zident.S.t) ->
Zelus.eq list ->
Zident.S.t * Zident.S.tval env_of_eq_list :
Deftypes.kind ->
Zelus.eq list ->
Deftypes.tentry Zident.Env.tval intro_sort_of_var : Deftypes.kind -> Deftypes.tsortval env_of_scondpat :
Deftypes.kind ->
Zelus.scondpat ->
Deftypes.tentry Zident.Env.tval env_of_statepat :
Deftypes.kind ->
Zelus.statepatdesc Zelus.localized ->
Deftypes.tentry Zident.Env.tval env_of_pattern_list :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.pattern list ->
Deftypes.tentry Zident.Env.tval env_of_pattern :
Deftypes.kind ->
Zelus.pattern ->
Deftypes.tentry Zident.Env.tval pattern :
Deftypes.tentry Zident.Env.t ->
Zelus.pattern ->
Deftypes.typ ->
unitTyping patterns
val pattern_list :
Deftypes.tentry Zident.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 Zident.Env.t ->
'a ->
'b ->
Deftypes.defnames) ->
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.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 Zident.Env.t ->
Zelus.scondpat ->
'a) ->
(Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
'b ->
'c ->
Deftypes.defnames) ->
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
'b Zelus.present_handler list ->
'b option ->
'c ->
Deftypes.defnamesit is the kind of the context.
val expression :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.exp ->
Deftypes.typval size : Deftypes.tentry Zident.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 Zident.Env.t ->
Zlocation.location ->
Zelus.op ->
Zelus.exp list ->
Deftypes.typThe type of primitives and imported functions
val period :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.exp Zelus.period ->
unitval expect :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.exp ->
Deftypes.typ ->
unitTyping an expression with expected type expected_type
val apply :
Zlocation.location ->
bool ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.exp ->
Zelus.exp list ->
Deftypes.typval equation :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.eq ->
Deftypes.defnamesTyping an equation. Returns the set of defined names
val equation_list :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.eq list ->
Deftypes.defnamesval present_handler_exp_list :
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.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 :
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.eq list Zelus.block Zelus.present_handler list ->
Zelus.eq list Zelus.block option ->
Deftypes.defnamesval match_handler_block_eq_list :
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.total ref ->
Zelus.eq list Zelus.block Zelus.match_handler list ->
Deftypes.typ ->
Deftypes.defnamesval match_handler_exp_list :
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.total ref ->
Zelus.exp Zelus.match_handler list ->
Deftypes.typ ->
Deftypes.typ ->
Deftypes.defnamesval block_eq_list :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.eq list Zelus.block ->
Deftypes.tentry Zident.Env.t * Deftypes.defnamesval local :
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.local ->
Deftypes.tentry Zident.Env.tval scondpat :
Deftypes.kind ->
bool ->
Deftypes.tentry Zident.Env.t ->
Zelus.scondpat ->
unitTyping a signal condition
val typing_state :
Deftypes.tentry Zident.Env.t ->
state Zident.Env.t ->
bool ->
Zelus.state_exp ->
unitval mark_reset_state : state Zident.Env.t -> Zelus.state_handler list -> unitval automaton_handlers :
Zelus.is_weak ->
Zlocation.location ->
Deftypes.kind ->
Deftypes.tentry Zident.Env.t ->
Zelus.state_handler list ->
Zelus.state_exp option ->
Deftypes.defnamesTyping an automaton. Returns defined names
val no_unbounded_name :
Zlocation.location ->
Zident.S.t ->
Deftypes.typ ->
Deftypes.typCheck that size variables are all bounded
val funtype :
Zlocation.location ->
Deftypes.kind ->
Zelus.pattern list ->
Deftypes.typ list ->
Deftypes.typ ->
Deftypes.typval constdecl : 'a -> bool -> Zelus.exp -> Deftypes.typ_schemeval fundecl : Zlocation.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