Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Minicaml.Typesmodule T = ANSITerminalmodule D = Util.Dictval pp_ide :
Ppx_deriving_runtime.Format.formatter ->
ide ->
Ppx_deriving_runtime.unitval show_ide : ide -> Ppx_deriving_runtime.stringval equal_ide : ide -> ide -> Ppx_deriving_runtime.boolval compare_ide : ide -> ide -> Ppx_deriving_runtime.inttype complext = Complex.tA type wrapper for complex numbers where equality, ordering and showing are defined
val pp_complext :
Ppx_deriving_runtime.Format.formatter ->
complext ->
Ppx_deriving_runtime.unitval show_complext : complext -> Ppx_deriving_runtime.stringval equal_complext : complext -> complext -> Ppx_deriving_runtime.boolval compare_complext : complext -> complext -> Ppx_deriving_runtime.intA type representing if a computation is pure or not
val pp_puret :
Ppx_deriving_runtime.Format.formatter ->
puret ->
Ppx_deriving_runtime.unitval show_puret : puret -> Ppx_deriving_runtime.stringval equal_puret : puret -> puret -> Ppx_deriving_runtime.boolval compare_puret : puret -> puret -> Ppx_deriving_runtime.intval isuncertain : puret -> boolval isnumerical : puret -> boolval isstrictlypure : puret -> boolval isimpure : puret -> boolval ispure : puret -> boolval pp_primitiveinfo :
Ppx_deriving_runtime.Format.formatter ->
primitiveinfo ->
Ppx_deriving_runtime.unitval show_primitiveinfo : primitiveinfo -> Ppx_deriving_runtime.stringval equal_primitiveinfo :
primitiveinfo ->
primitiveinfo ->
Ppx_deriving_runtime.boolval compare_primitiveinfo :
primitiveinfo ->
primitiveinfo ->
Ppx_deriving_runtime.inttype expr = | Unit| Purity of puret * expr| NumInt of int| NumFloat of float| NumComplex of complext| Boolean of bool| String of string| Symbol of ide| List of expr list| Cons of expr * expr| Concat of expr * expr| Dict of (ide * expr) list| Plus of expr * expr| Sub of expr * expr| Div of expr * expr| Mult of expr * expr| Eq of expr * expr| Gt of expr * expr| Lt of expr * expr| Ge of expr * expr| Le of expr * expr| And of expr * expr| Or of 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 list| Compose of expr * expr| Sequence of expr listThe type representing Abstract Syntax Tree expressions
val pp_expr :
Ppx_deriving_runtime.Format.formatter ->
expr ->
Ppx_deriving_runtime.unitval show_expr : expr -> Ppx_deriving_runtime.stringval pp_assignment_type :
Ppx_deriving_runtime.Format.formatter ->
assignment_type ->
Ppx_deriving_runtime.unitval show_assignment_type : assignment_type -> Ppx_deriving_runtime.stringval equal_expr : expr -> expr -> Ppx_deriving_runtime.boolval equal_assignment_type :
assignment_type ->
assignment_type ->
Ppx_deriving_runtime.boolval compare_expr : expr -> expr -> Ppx_deriving_runtime.intval compare_assignment_type :
assignment_type ->
assignment_type ->
Ppx_deriving_runtime.intFunction that finds a nested lambda body
Function that finds and replaces a (nested) lambda body
Function that finds and replaces a (nested) lambda body
Function that creates a list with the params of a nested lambda
val simple_show_expr : expr -> Ppx_deriving_runtime.stringShow a short representation of an expression (useful for stack traces)
Creates a nested Apply from a list of expressions
val pp_directive :
Ppx_deriving_runtime.Format.formatter ->
directive ->
Ppx_deriving_runtime.unitval show_directive : directive -> Ppx_deriving_runtime.stringval equal_directive : directive -> directive -> Ppx_deriving_runtime.boolval compare_directive : directive -> directive -> Ppx_deriving_runtime.intA 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.unitval show_command : command -> Ppx_deriving_runtime.stringval equal_command : command -> command -> Ppx_deriving_runtime.boolval compare_command : command -> command -> Ppx_deriving_runtime.inttype evt = | EvtUnit| EvtInt of int| EvtFloat of float| EvtComplex of complext| EvtBool of bool| EvtString of string| EvtList of evt list| EvtDict of (ide * evt) listRecursion is achieved by keeping an optional function name in the constructor
*)| Closure of ide option * ide * expr * env_typeAbstraction that permits treating primitives as closures
*)A type that represents an evaluated (reduced) value
and env_type = (ide, type_wrapper) D.tA type containing information about types
val pp_evt :
Ppx_deriving_runtime.Format.formatter ->
evt ->
Ppx_deriving_runtime.unitval show_evt : evt -> Ppx_deriving_runtime.stringval pp_type_wrapper :
Ppx_deriving_runtime.Format.formatter ->
type_wrapper ->
Ppx_deriving_runtime.unitval show_type_wrapper : type_wrapper -> Ppx_deriving_runtime.stringval pp_env_type :
Ppx_deriving_runtime.Format.formatter ->
env_type ->
Ppx_deriving_runtime.unitval show_env_type : env_type -> Ppx_deriving_runtime.stringval pp_typeinfo :
Ppx_deriving_runtime.Format.formatter ->
typeinfo ->
Ppx_deriving_runtime.unitval show_typeinfo : typeinfo -> Ppx_deriving_runtime.stringval equal_evt : evt -> evt -> Ppx_deriving_runtime.boolval equal_type_wrapper :
type_wrapper ->
type_wrapper ->
Ppx_deriving_runtime.boolval equal_env_type : env_type -> env_type -> Ppx_deriving_runtime.boolval equal_typeinfo : typeinfo -> typeinfo -> Ppx_deriving_runtime.boolval compare_evt : evt -> evt -> Ppx_deriving_runtime.intval compare_type_wrapper :
type_wrapper ->
type_wrapper ->
Ppx_deriving_runtime.intval compare_env_type : env_type -> env_type -> Ppx_deriving_runtime.intval compare_typeinfo : typeinfo -> typeinfo -> Ppx_deriving_runtime.intval show_tinfo : typeinfo -> stringval show_unpacked_evt : evt -> Ppx_deriving_runtime.stringFunction that creates a list with the params of a nested lambda in a Closure
A type representing a primitive
Get the actual function from a primitive type
val get_primitive_info : primitive -> primitiveinfoGet the information from a primitive type
type purityenv_type = (ide, puret) Util.Dict.tAn environment type containing identifier - purity couples
val pp_purityenv_type :
Ppx_deriving_runtime.Format.formatter ->
purityenv_type ->
Ppx_deriving_runtime.unitval show_purityenv_type : purityenv_type -> Ppx_deriving_runtime.stringA recursive type representing a stacktrace frame
val pp_stackframe :
Ppx_deriving_runtime.Format.formatter ->
stackframe ->
Ppx_deriving_runtime.unitval show_stackframe : stackframe -> Ppx_deriving_runtime.stringval push_stack : stackframe -> expr -> stackframePush an AST expression into a stack
val pop_stack : stackframe -> stackframePop an AST expression from a stack
val depth_of_stack : stackframe -> intval string_of_stack : int -> stackframe -> stringtype evalstate = {env : env_type;purityenv : purityenv_type;verbosity : int;stack : stackframe;mutable printresult : bool;purity : puret;}Options for the eval function
type location = | Location of Lexing.position * Lexing.positiondelimited location
*)| Nowhereno location
*)The location of a lexeme in code
val location_of_lex : Lexing.lexbuf -> locationGet the location of a lexeme
val pp_internalerrort :
Ppx_deriving_runtime.Format.formatter ->
internalerrort ->
Ppx_deriving_runtime.unitval show_internalerrort : internalerrort -> Ppx_deriving_runtime.stringexception InternalError of location * internalerrort * stackframeException Error (loc, err, msg) indicates an error of type err with error message msg, occurring at location loc.
val sraises : Lexing.lexbuf -> string -> stackframe -> 'aUtility function to raise a syntax error quickly
val sraise : Lexing.lexbuf -> string -> 'aval iraises : internalerrort -> stackframe -> 'aUtility function to raise an internal error without a location
val iraise : internalerrort -> 'aval traises : string -> stackframe -> 'aUtility function to raise a type error without a location
val print_location : location -> stringPrint the location of a lexeme
Print a message at a given location loc of message type msg_type.
val print_error : (location * internalerrort * 'a) -> unitPrint the caught error
val print_stacktrace : ('a * 'b * stackframe) -> int -> unitval read_file : (Lexing.lexbuf -> 'a) -> string -> 'aParse the contents from a file, using a given parser.