package minicaml
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Minicaml.TypesSource
A value identifier
Source
type expr = | Unit| Integer of int| Boolean of bool| Symbol of ide| List of list_pattern| Head of expr| Tail of expr| Cons of expr * expr| Sum of expr * expr| Sub of expr * expr| Mult of expr * expr| Eq of expr * expr| Gt of expr * expr| Lt of expr * expr| And of expr * expr| Or of expr * expr| Not of expr| IfThenElse of expr * expr * expr| Let of ide * expr * expr| Letlazy of ide * expr * expr| Letrec of ide * expr * expr| Letreclazy of ide * expr * expr| Lambda of ide list * expr| Apply of expr * expr list
The type representing Abstract Syntax Tree expressions
A type to build lists, mutually recursive with `expr`
Source
val pp_list_pattern :
Ppx_deriving_runtime.Format.formatter ->
list_pattern ->
Ppx_deriving_runtime.unitA purely functional environment type, parametrized
Source
val pp_env_t :
'a. (Ppx_deriving_runtime.Format.formatter ->
'a ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'a env_t ->
Ppx_deriving_runtime.unitSource
val show_env_t :
'a. (Ppx_deriving_runtime.Format.formatter ->
'a ->
Ppx_deriving_runtime.unit) ->
'a env_t ->
Ppx_deriving_runtime.stringSource
type evt = | EvtUnit| EvtInt of int| EvtBool of bool| EvtList of evt list| Closure of ide list * expr * type_wrapper env_t(*RecClosure keeps the function name in the constructor for recursion
*)| RecClosure of ide * ide list * expr * type_wrapper env_t
A type that represents an evaluated (reduced) value
Wrapper type that allows both AST expressions and evaluated expression for lazy evaluation
Source
val pp_type_wrapper :
Ppx_deriving_runtime.Format.formatter ->
type_wrapper ->
Ppx_deriving_runtime.unitAn environment of already evaluated values
A recursive type representing a stacktrace frame
Source
val pp_stackframe :
Ppx_deriving_runtime.Format.formatter ->
stackframe ->
Ppx_deriving_runtime.unitConvert a native list to an AST list
Push an AST expression into a stack
Pop an AST expression from a stack