Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
module T = ANSITerminal
module D = Util.Dict
val pp_ide :
Ppx_deriving_runtime.Format.formatter ->
ide ->
Ppx_deriving_runtime.unit
val show_ide : ide -> Ppx_deriving_runtime.string
val equal_ide : ide -> ide -> Ppx_deriving_runtime.bool
val compare_ide : ide -> ide -> Ppx_deriving_runtime.int
type complext = Complex.t
A type wrapper for complex numbers where equality, ordering and showing are defined
val pp_complext :
Ppx_deriving_runtime.Format.formatter ->
complext ->
Ppx_deriving_runtime.unit
val show_complext : complext -> Ppx_deriving_runtime.string
val equal_complext : complext -> complext -> Ppx_deriving_runtime.bool
val compare_complext : complext -> complext -> Ppx_deriving_runtime.int
type typeinfo =
| TVect of int * typeinfo
| TUnit
| TBool
| TNumber
| TInt
| TFloat
| TComplex
| TString
| TChar
| TList
| TDict
| TLambda
A type containing all the types that a values can assume
val pp_typeinfo :
Ppx_deriving_runtime.Format.formatter ->
typeinfo ->
Ppx_deriving_runtime.unit
val equal_typeinfo : typeinfo -> typeinfo -> Ppx_deriving_runtime.bool
val compare_typeinfo : typeinfo -> typeinfo -> Ppx_deriving_runtime.int
val show_typeinfo : typeinfo -> string
type purityenv_type = (ide, puret) Util.Dict.t
An environment type containing identifier - purity couples
A type representing if a computation is pure or not
val pp_purityenv_type :
Ppx_deriving_runtime.Format.formatter ->
purityenv_type ->
Ppx_deriving_runtime.unit
val show_purityenv_type : purityenv_type -> Ppx_deriving_runtime.string
val pp_puret :
Ppx_deriving_runtime.Format.formatter ->
puret ->
Ppx_deriving_runtime.unit
val show_puret : puret -> Ppx_deriving_runtime.string
val equal_purityenv_type :
purityenv_type ->
purityenv_type ->
Ppx_deriving_runtime.bool
val equal_puret : puret -> puret -> Ppx_deriving_runtime.bool
val compare_purityenv_type :
purityenv_type ->
purityenv_type ->
Ppx_deriving_runtime.int
val compare_puret : puret -> puret -> Ppx_deriving_runtime.int
Contains a primitive's name, number of arguments and pureness
val pp_primitiveinfo :
Ppx_deriving_runtime.Format.formatter ->
primitiveinfo ->
Ppx_deriving_runtime.unit
val show_primitiveinfo : primitiveinfo -> Ppx_deriving_runtime.string
val equal_primitiveinfo :
primitiveinfo ->
primitiveinfo ->
Ppx_deriving_runtime.bool
val compare_primitiveinfo :
primitiveinfo ->
primitiveinfo ->
Ppx_deriving_runtime.int
val pp_binop :
Ppx_deriving_runtime.Format.formatter ->
binop ->
Ppx_deriving_runtime.unit
val show_binop : binop -> Ppx_deriving_runtime.string
val equal_binop : binop -> binop -> Ppx_deriving_runtime.bool
val compare_binop : binop -> binop -> Ppx_deriving_runtime.int
type expr =
| Unit
| SetPurity of puret * expr
| NumInt of int
| NumFloat of float
| NumComplex of complext
| Character of char
| Boolean of bool
| String of string
| Symbol of ide
| List of expr list
| Vect of expr list
| Dict of assignment_type list
| Binop of binop * expr * expr
| Not of expr
| IfThenElse of expr * expr * expr
| Let of assignment_type list * expr
| Lambda of ide * expr
| Apply of expr * expr
| ApplyPrimitive of primitiveinfo * expr array
| Sequence of expr * expr
The type representing Abstract Syntax Tree expressions
val pp_expr :
Ppx_deriving_runtime.Format.formatter ->
expr ->
Ppx_deriving_runtime.unit
val show_expr : expr -> Ppx_deriving_runtime.string
val pp_assignment_type :
Ppx_deriving_runtime.Format.formatter ->
assignment_type ->
Ppx_deriving_runtime.unit
val show_assignment_type : assignment_type -> Ppx_deriving_runtime.string
val equal_expr : expr -> expr -> Ppx_deriving_runtime.bool
val equal_assignment_type :
assignment_type ->
assignment_type ->
Ppx_deriving_runtime.bool
val compare_expr : expr -> expr -> Ppx_deriving_runtime.int
val compare_assignment_type :
assignment_type ->
assignment_type ->
Ppx_deriving_runtime.int
val pp_directive :
Ppx_deriving_runtime.Format.formatter ->
directive ->
Ppx_deriving_runtime.unit
val show_directive : directive -> Ppx_deriving_runtime.string
val equal_directive : directive -> directive -> Ppx_deriving_runtime.bool
val compare_directive : directive -> directive -> Ppx_deriving_runtime.int
A type useful for evaluating files, stating if a command is an expression or simply a "global" declaration (appended to environment)
val pp_command :
Ppx_deriving_runtime.Format.formatter ->
command ->
Ppx_deriving_runtime.unit
val show_command : command -> Ppx_deriving_runtime.string
val equal_command : command -> command -> Ppx_deriving_runtime.bool
val compare_command : command -> command -> Ppx_deriving_runtime.int
type evt =
| EvtUnit
| EvtInt of int
| EvtFloat of float
| EvtComplex of complext
| EvtBool of bool
| EvtChar of char
| EvtString of string
| EvtList of evt list
| EvtVect of typeinfo * evt vect_type
| EvtDict of (ide * evt) list
Recursion is achieved by keeping an optional function name in the constructor
*)| Closure of ide option * ide * expr * env_type
| LazyExpression of expr
A type that represents an evaluated (result of a computation) value
val pp_evt :
Ppx_deriving_runtime.Format.formatter ->
evt ->
Ppx_deriving_runtime.unit
val show_evt : evt -> Ppx_deriving_runtime.string
val pp_env_type :
Ppx_deriving_runtime.Format.formatter ->
env_type ->
Ppx_deriving_runtime.unit
val show_env_type : env_type -> Ppx_deriving_runtime.string
val pp_vect_type :
'a. (Ppx_deriving_runtime.Format.formatter ->
'a ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'a vect_type ->
Ppx_deriving_runtime.unit
val show_vect_type :
'a. (Ppx_deriving_runtime.Format.formatter ->
'a ->
Ppx_deriving_runtime.unit) ->
'a vect_type ->
Ppx_deriving_runtime.string
val equal_evt : evt -> evt -> Ppx_deriving_runtime.bool
val equal_env_type : env_type -> env_type -> Ppx_deriving_runtime.bool
val equal_vect_type :
'a. ('a -> 'a -> Ppx_deriving_runtime.bool) ->
'a vect_type ->
'a vect_type ->
Ppx_deriving_runtime.bool
val compare_evt : evt -> evt -> Ppx_deriving_runtime.int
val compare_env_type : env_type -> env_type -> Ppx_deriving_runtime.int
val compare_vect_type :
'a. ('a -> 'a -> Ppx_deriving_runtime.int) ->
'a vect_type ->
'a vect_type ->
Ppx_deriving_runtime.int
A type representing a primitive
A recursive type representing a stacktrace frame
val pp_stackframe :
Ppx_deriving_runtime.Format.formatter ->
stackframe ->
Ppx_deriving_runtime.unit
val show_stackframe : stackframe -> Ppx_deriving_runtime.string
type evalstate = {
env : env_type;
purityenv : purityenv_type;
verbosity : int;
stack : stackframe;
mutable printresult : bool;
purity : puret;
}
Options for the eval function
val default_evalstate : evalstate