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