Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val level_purity : Types.puret -> Types.puret -> Types.puret
"level out" the purity of two values
val infer : Types.expr -> Types.evalstate -> Types.puret
Infer the purity of an expression. Note: this is a naive approach. This function is an abstract interpretation of expressions over primitives and environments.
val lookup_env :
Types.ide ->
Types.purityenv_type ->
Types.puret ->
Types.puret
val lookup : Types.ide -> Types.evalstate -> Types.puret
val infer_assignment :
Types.evalstate ->
(bool * Types.ide * Types.expr) ->
Types.evalstate
val infer_assignment_list :
Types.assignment_type list ->
Types.evalstate ->
Types.evalstate
val infer_command_list :
Types.command list ->
Types.evalstate ->
Types.evalstate
val infer_command : Types.command -> Types.evalstate -> Types.evalstate