( !* ) [Types] |
This is
Lazy.force .
|
(!!) [Types] |
Asserts that this type is actually a
TyOpen .
|
(!!=) [Types] |
Asserts that this type is actually a
TySingleton (TyOpen ...) .
|
(>>=) [Derivations] |
Use this operator to chain the premises of a rule in a monadic style.
|
(>>=) [Types] | bind for the option monad.
|
(>>~) [Derivations] |
Perform an operation on the
env part of a state without giving any
justification for it.
|
(@->) [Types] |
An arrow.
|
(^=>) [Types] |
The standard implication connector, with the right associativity.
|
(|>) [Types] |
The pipe operator.
|
(|||) [Types] | either operator for the option monad
|
A | |
add [Permissions] | add env var t adds t to the list of permissions for p , performing all
the necessary legwork.
|
add [Hashcons] | |
add [GMap.S] | |
add [GSet.S] | |
add_hint [Permissions] | |
add_include_dir [Driver] | |
add_location [TypeCore] | |
add_perm [Permissions] | add_perm env t adds a type t with kind PERM to env , returning the new
environment.
|
adopter_field [Mezzo2UntypedMezzo] | |
all_dependencies [Modules] | |
allow_exclusive [Fact] |
A utility function for extending a fact with the statement
``without any hypotheses, this type is exclusive''.
|
analyze_data_types [Variance] |
Perform variance computations on a set of data types, and return an
environment where variances have been updated.
|
analyze_data_types [FactInference] | analyze_data_types env vars assumes that vars forms a group of
mutually recursive algebraic data type definitions.
|
apply_axiom [Derivations] |
This is a way of proving a judgement by using a rule without premises, i.e.
|
arity [Kind] | arity k is the arity of k , viewed as an arrow kind.
|
as_arrow [Kind] | as_arrow k transforms the kind k to an n -ary arrow kind.
|
assert_concrete [Types] |
If you know this is a concrete type, extract the
branch .
|
assert_left [Either] | |
assert_right [Either] | |
assume [FactInference] | assume env c produces a new environment where the mode constraint
c is assumed (i.e., it is added to the environment as a new
hypothesis).
|
B | |
beprintf [MzString] |
Make all your pretty-printers work with buffers, use them with
%a and use
this to get a Printf.eprintf
|
bfprintf [MzString] |
Make all your pretty-printers work with buffers, use them with
%a and use
this to get a Printf.fprintf
|
bind [Option] |
Maps
None to None and Some x to f x .
|
bind_data_group_datacons [KindCheck] | bind_data_group_datacons env group extends the environment with bindings
for the data constructors of the data group.
|
bind_data_type_group_in_expr [Expressions] |
Used by the type-checker to process local type declarations.
|
bind_data_type_group_in_toplevel_items [Expressions] |
This function processes a
data_type_group , and opens the corresponding
binders in the toplevel_item s that follow.
|
bind_datacon_parameters [Types] | bind_datacon_parameters env k ts takes the kind of the parent data type
k , its branches ts , and introduces open variables that stand for the data
type's parameters in all the branches.
|
bind_evars [Expressions] |
Bind a set of term variables (let-bindings).
|
bind_external_datacon [KindCheck] | |
bind_external_name [KindCheck] | |
bind_flexible [TypeCore] |
Bind a flexible type variable.
|
bind_flexible_before [TypeCore] |
Bind a flexible type variables before another one.
|
bind_flexible_in_type [DeBruijn] | bind_rigid_in_type env binding ty opens the binding binding , whose scope
is the type ty , by replacing the bound variable with a new flexible variable.
|
bind_implementation_types [Exports] |
Record exported types and data constructors in an implementation.
|
bind_implementation_values [Exports] |
Record exported values in an implementation.
|
bind_interface_types [Exports] |
Record exported types and data constructors from an interface.
|
bind_interface_value [Exports] |
Record exported values from an interface.
|
bind_nonlocal [KindCheck] | bind_nonlocal env (x, kind, v) binds the unqualified variable x to the
non-local name v , whose kind is kind .
|
bind_nonlocal_datacon [KindCheck] | |
bind_patexprs [Expressions] |
Bind a set of multiple bindings (
and keyword).
|
bind_rigid [TypeCore] |
Bind a rigid type variable.
|
bind_rigid_in_type [DeBruijn] | bind_rigid_in_type env binding ty opens the binding binding , whose scope
is the type ty , by replacing the bound variable with a rigid variable.
|
bind_vars [Expressions] |
Bind a set of type variables (Λ-bindings).
|
bindings_data_group_types [KindCheck] | bindings_data_group_types group returns a list of bindings for the types
of the data group.
|
biprintf [MzString] |
In case you need to ignore some stuff.
|
bottom [Fact] |
The least fact is defined as
constant Mode.bottom .
|
bottom [Mode] |
The least element of the lattice.
|
box [Bash] |
Make a title.
|
bprintf [MzString] |
Make all your pretty-printers work with buffers, use them with
%a and use
this to get a Printf.printf
|
branch_for_datacon [Types] |
Given a
resolved_datacon , get the corresponding branch.
|
branches_for_branch [Types] |
Given a
branch , get all the other branches of the parent type.
|
branches_for_datacon [Types] |
Given a
resolved_datacon , get all the other branches of the parent type.
|
bsprintf [MzString] |
Make all your pretty-printers work with buffers and use this to get a
Printf.sprintf
|
bv [KindCheck] | bv p returns the names bound by the pattern p , in left-to-right order.
|
C | |
cardinal [GMap.S] | |
cardinal [GSet.S] | |
check [Interfaces] |
The second operation related to interfaces consists in checking that an
implementation satisfies a given interface.
|
check [Log] |
Assert something, otherwise display an error message and fail
|
check_declaration_group [TypeChecker] | check_declaration_group env declarations items type-checks a set of
top-level declarations ; in order to do that, it will end up opening certain
binders, which is why it takes a list of items which will be correctly
transformed so as to refer to the variables that have been opened.
|
check_for_duplicates [MzList] |
Checking for duplicates in a list.
|
check_function_call [TypeChecker] | |
check_implementation [KindCheck] | check_implementation env i checks that the implementation file i is
well-formed, i.e.
|
check_interface [KindCheck] | check_implementation env i checks that the interface file i is
well-formed, i.e.
|
choose [GMap.S] | |
choose [GSet.S] | |
clean [TypeCore] | clean env sub_env t tries to clean up t , found in sub_env , so that it
makes sense in env , and throws UnboundPoint otherwise
|
collect [Types] | collect t syntactically separates t into a structural part and a
permission part, i.e.
|
colors [Bash] |
They have been chosen arbitrarily out of the 256-color set available.
|
combine3 [MzList] |
Same as
List.combine but for triples instead of pairs.
|
compare [Mode] |
Ordering.
|
compare [Identifier.Make] | |
compare [GMap.S] | |
compare [GSet.S] | |
compare [PersistentUnionFind] | |
compare [PersistentRef] | |
complete [Fact] | complete fact completes an incomplete fact (i.e., a mode map
whose domain does not contain all modes) so as to obtain a valid
fact.
|
complete [Mode.ModeMap] | |
compose [Fact] | compose fact facts composes a fact of arity n -- i.e.
|
concat [LazyList] | |
conjunction [Fact] |
Conjunction of hypotheses.
|
cons [LazyList] | |
constant [Fact] |
A mode
m can be viewed as a fact: every mode m' that is equal
to or above m is mapped to true , the empty conjunction, and
every mode m' that does not satisfy this is mapped to false .
|
construct_branch [TypeCore] |
Need to translate a branch definition
b with nested permissions ps into
a type? Use construct_branch b ps .
|
corestrict [GMap.S] | |
cps_map [MzList] |
A CPS version of
List.map .
|
create [Mark] | |
create [Hashcons] | |
create [PersistentUnionFind] | |
cut [MzList] | |
D | |
debug [Log] |
Report some debugging information.
|
debug_level [Log] | |
diff [GSet.S] | |
disallow_exclusive [Fact] |
A utility function for removing the possibility that ``this
type is exclusive''.
|
disjoint [GSet.S] | |
dissolve [KindCheck] | dissolve env m has the effect of introducing a new binding of x
for every existing binding of m::x .
|
domain [GMap.S] | |
domain [InfiniteArray] | domain a is a fresh copy of an initial segment of the array a
whose length is extent a .
|
dont_inline [Utils] | |
drop_derivation [Permissions] |
Drop the derivation information and just get an
env option .
|
duplicable [Fact] | duplicable is implication ModeDuplicable .
|
E | |
e_unit [Expressions] |
The
() (unit) expression.
|
elements [GSet.S] | |
empty [KindCheck] |
An empty environment.
|
empty [Interpreter] | |
empty [GMap.S] | |
empty [GSet.S] | |
empty [PersistentRef] | |
empty_env [TypeCore] |
The empty environment.
|
enable_debug [Log] |
Enable debugging information.
|
endo_map [GMap.S] | |
enter_module [TypeCore] |
Enter another toplevel unit (implementation, interface).
|
enter_module [KindCheck] | enter_module env m resets env so that it is ready to translate another
unit (interface or implementation) named m .
|
eq [PersistentRef] | |
equal [Fact] |
Equality.
|
equal [TypeCore] | equal env t1 t2 tells whether t1 and t2 can be determined to be equal
in environment env ; it raises UnboundPoint is any of these two types
doesn't make sense in env .
|
equal [Mode] |
Equality.
|
equal [Identifier.Make] | |
equal [Kind] | equal tests the equality of two kinds.
|
equal [MzList] |
Equality of lists, up to equality of elements.
|
equal [GSet.S] | |
equals [Mark] | |
error [Log] |
Report a fatal error.
|
eunloc [Expressions] |
Remove any
ELocated node in front of an expression.
|
eval_lone_implementation [Interpreter] | |
eval_unit [Interpreter] | |
exists [LazyList] | |
exit_if_duplicates [MzList] |
Checking for duplicates in a list.
|
expand_if_one_branch [Types] | expand_if_one_branch env t expands t when t is either a type
abbreviation, or a data type with one branch.
|
extend [KindCheck] | extend env bindings iterates over the list bindings , from left to
right, and for each binding of the form (x, kind, loc) , it extends
the environment by binding the unqualified variable x to a new local
name whose kind is kind .
|
extent [InfiniteArray] | extent a is the length of an initial segment of the array a
that is sufficiently large to contain all set operations ever
performed.
|
extract [Option] |
When you're sure you have
Some
|
extract_constraints [Hoist] | |
F | |
fail [Derivations] |
If a derivation fails...
|
fields_for_datacon [Types] |
Given a
resolved_datacon , get all its fields.
|
file_get_contents [Utils] | |
filter [LazyList] | |
filter_some [MzList] |
Turns
[Some a; None; ...] into [a; ...]
|
find [Hashcons] | |
find [LazyList] | |
find [GMap.S] | |
find [PersistentUnionFind] | |
find_and_instantiate_branch [Types] |
Find the branch and substitute the data type's parameters in it.
|
find_and_remove [GMap.S] | |
find_branch [TypeCore] |
Need to see the branch hidden beneath a type? Use this helper.
|
find_kind [KindCheck] | find_kind env x returns the kind of the possibly-qualified
variable x .
|
find_nonlocal_variable [KindCheck] | find_nonlocal_variable env x looks up the unqualified variable x
in the environment env .
|
find_opt [MzList] | |
find_opt [MzMap.S] |
same as
Map.find but returns a 'a option
|
find_opti [MzList] | |
find_qualified_var [Exports] | find_qualified_var env mname x finds name x as exported by module
mname .
|
find_unqualified_var [Exports] | find_unqualified_var env x finds the name x as exported by the current
module.
|
find_variable [KindCheck] | find_variable env x looks up the possibly-qualified variable x
in the environment env .
|
fine_add [GMap.S] | |
fine_union [GMap.S] | |
flatten [LazyList] | |
flatten [Option] | |
flatten_map [MzList] | |
flatten_star [Types] |
Transform a
TyStar into a flat list of permissions.
|
flavor_for_datacon [Types] |
Given a
resolved_datacon , get its flavor.
|
fold [TypeCore] |
General fold operation.
|
fold [GMap.S] | |
fold [GSet.S] | |
fold [PersistentUnionFind] | |
fold [PersistentRef] | |
fold_definitions [TypeCore] |
Fold over all opened type definitions.
|
fold_exists [Types] |
Fold a type under a series of existential bindings.
|
fold_forall [Types] |
Fold a type under a series of universal bindings.
|
fold_left2i [MzList] |
Same as
fold_left2 except that the function takes the current index in the
list
|
fold_left3 [MzList] |
Same as
fold_left2 but with three lists.
|
fold_lefti [MzList] |
Same as
fold_left except that the function takes the current index in the
list
|
fold_rev [GMap.S] | |
fold_righti [MzList] |
Same as
fold_right except that the function takes the current index in the
list.
|
fold_star [Types] |
This function has a special case to make sure it doesn't introduce useless
TyEmpty s.
|
fold_terms [TypeCore] |
Fold over all opened terms, providing the corresponding
var and
permissions.
|
fold_type [TypeErrors] |
This is only for display purposes.
|
fresh_auto_name [Types] | |
fresh_name [Utils] | |
fresh_var [Utils] | |
fst3 [Types] | |
G | |
get [PersistentRef] | |
get [InfiniteArray] | get a i returns the element contained at offset i in the array a .
|
get_adopts_clause [Types] | |
get_arity [Types] | |
get_definition [TypeCore] |
Get the definition, if any.
|
get_exports [KindCheck] | get_exports env returns the list of names that are exported by env .
|
get_fact [TypeCore] |
Get a fact
|
get_floating_permissions [TypeCore] |
Get the list of permissions that are floating in this environment.
|
get_kind [TypeCore] |
Get the kind of any given variable.
|
get_kind_for_type [Types] | |
get_location [Types] | |
get_locations [TypeCore] |
Get the locations
|
get_name [TypeCore] | |
get_names [TypeCore] |
Get the names associated to a variable.
|
get_number_of_cores [Utils] | |
get_permissions [TypeCore] |
Get the permissions of a term variable.
|
get_variance [TypeCore] |
Get the variance, asserting that this variable is that of a type definition.
|
H | |
has_mode [FactInference] | has_mode mode env ty tells whether the predicate mode ty is
satisfied, using the information stored in env about the ambient
type definitions and mode assumptions.
|
hash [Identifier.Make] | |
hd [LazyList] | |
hoist [Hoist] | |
html_error [TypeErrors] |
...
|
I | |
ignore_map [MzList] |
Map a function and then discard the result.
|
implementation [UntypedOCamlPrinter] | |
implementation [Compile] | |
implementation [Grammar] | |
implication [Fact] | implication h m constructs a fact of the form h => m .
|
implication_only_on_arrow [KindCheck] |
This error is detected during the translation towards the internal syntax.
|
import_flex_instanciations [Permissions] |
The safe version of the function found in
TypeCore .
|
import_flex_instanciations_raw [TypeCore] | import_flex_instanciations env sub_env brings into env all the flexible
variable instanciations that happened in sub_env without modifying the rest
of env .
|
import_interface [Interfaces] |
The first operation related to interfaces consists in importing a given
interface into an environment.
|
index [MzList] |
Find the index of the first element in a list that satisfies a predicate.
|
infer_reset [KindCheck] | infer_reset env ty returns the kind of the type ty .
|
init [Lexer] | init filename must be called before using the lexer.
|
init [PersistentUnionFind] | |
instantiate_flexible [Permissions] |
The safe version of the function found in
TypeCore .
|
instantiate_flexible_raw [TypeCore] | instantiate_raw env var t tries to instantiate the flexible variable var
with t .
|
instantiate_type [Types] | instantiate_type t ts substitutes the givens types t0, ..., tn for
TyBound 0, ... TyBound n in t .
|
inter [MzMap.S] | inter m1 m2 keeps the values from m1
|
inter [GSet.S] | |
interface [UntypedOCamlPrinter] | |
interface [Grammar] | |
internal_print [Fact] | internal_print fact is a textual representation of the fact
fact .
|
interpret [Driver] | interpret is a driver for the interpreter.
|
is_abbrev [Types] |
Determines whether a variable corresponds to a type abbreviation definition.
|
is_concrete [Types] |
Is this a concrete type?
|
is_duplicable [FactInference] |
A specialized version of
has_mode .
|
is_empty [GMap.S] | |
is_empty [GSet.S] | |
is_exclusive [FactInference] |
A specialized version of
has_mode .
|
is_flexible [TypeCore] |
Is this variable a flexible type variable or not?
|
is_good [Derivations] |
This tells whether a result is successful or not.
|
is_inconsistent [TypeCore] |
Is the current environment inconsistent?
|
is_left [Either] | |
is_marked [TypeCore] | |
is_maximal [Fact] |
Recognition of maximal facts is not performed.
|
is_maximal [Mode] |
A test for the top element of the lattice.
|
is_non_bottom [TypeCore] | |
is_perm [Types] |
Has this variable kind
perm ?
|
is_right [Either] | |
is_rigid [TypeCore] | |
is_singleton [GMap.S] | |
is_some [Option] | |
is_star [Types] |
Calls
modulo_flex and expand_if_one_branch before determining whether
it's a TyStar or not.
|
is_term [Types] |
Has this variable kind
term ?
|
is_tyapp [Types] |
Works with either
TyOpen or TyApp .
|
is_tyopen [Types] |
Is this an open variable?
|
is_type [Types] |
Has this variable kind
type ?
|
is_user [Types] |
Is this name user-provided?
|
iter [LazyList] | |
iter [GMap.S] | |
iter [GSet.S] | |
iter [PersistentUnionFind] | |
iter [PersistentRef] | |
iter [Option] |
The name speaks for itself
|
iter2 [GMap.S] | |
iter2i [MzList] |
Same as
List.iteri but with two lists.
|
iter3 [MzList] |
Same as
List.iter but with three lists.
|
J | |
join [Fact] |
The lattice join (i.e., least upper bound).
|
join_many [Fact] | |
K | |
karrow [Kind] | |
keep_only_duplicable [Permissions] |
Only keep the duplicable portions of the environment.
|
kenv [TypeCore] | |
keys [MzMap.S] |
Get a list of all keys in a map.
|
keyword_table [OCamlKeywords] | |
L | |
last [MzList] |
Get the last element of a list.
|
leq [Fact] |
The lattice ordering.
|
leq [Variance] |
Compare two variances and tell if the second one subsumes the first one.
|
leq [Mode] |
The lattice ordering.
|
lift [DeBruijn] | lift i t lifts type t by i
|
lift [GMap.S] | |
locate [TypeCore] |
Refresh the location of an environment.
|
locate [KindCheck] | locate env loc updates env with the location loc .
|
location [TypeCore] |
Get the current location in the environment.
|
location [KindCheck] | location env is the current location in the source code.
|
lookup [GMap.S] | |
lookup_and_remove [GMap.S] | |
M | |
make [MzList] | make n f creates [f 1; ...; f n] .
|
make [PersistentRef] | |
make [InfiniteArray] | make x creates an infinite array, where every slot contains x .
|
make_datacon_letters [Types] | |
map [TypeCore] |
General map operation.
|
map [MzList] |
A sharing-preserving version of
List.map .
|
map [LazyList] | |
map [GMap.S] | |
map [Option] | map f opt maps None to None and Some a to Some (f a)
|
map2i [MzList] |
Same as
map2 but pass an extra parameter that represents the index
|
map_none [Option] | map_none n opt maps None to n and Some m to m .
|
map_some [MzList] |
Composition of
List.map and filter_some .
|
mark [TypeCore] | |
mark_inconsistent [TypeCore] |
Mark the environment as being inconsistent.
|
mark_reachable [Types] |
Mark all type variables reachable from a type, including via the
ambient permissions.
|
max [MzList] |
Find the biggest element in a list
|
may_raise_error [TypeErrors] |
This function may raise an exception that will be later on catched in
Driver , or emit a warning, or do nothing, depending on whether the error
has been tweaked with the warn/error string.
|
meet [Fact] |
The lattice meet.
|
meet [Mode] |
The lattice meet (i.e., greatest lower bound).
|
mem [GMap.S] | |
mem [GSet.S] | |
memoize [Identifier.Make] | |
merge_envs [Merge] |
When the control-flow diverges, one needs to merge the environments, that
is, compute a set of permissions that subsumes the two environments.
|
merge_left [TypeCore] |
Merge two variables while keeping the information about the left one.
|
minus [MzMap.S] | minus m1 m2 returns m1 minus all the elements that are also in m2 ,
that is, m1 \ (m1 ∩ m2)
|
modify_kenv [TypeCore] |
An environment contains a kind-checking environment that contains mapping
for all the current module's _dependencies_.
|
module_name [TypeCore] |
Get the current module name.
|
module_name [KindCheck] | module_name env is the name of the current module.
|
modulo_flex [TypeCore] |
Make sure we're dealing with the real representation of a variable.
|
msg [Log] |
Analogous to
error , but does not raise any exception; instead, just
produces and returns the error message as a string.
|
N | |
names [KindCheck] | names ty returns a list of the names introduced by the type ty , via
TyNameIntro forms.
|
neq [PersistentRef] | |
next [LazyList] | |
nil [LazyList] | |
no_proof [Derivations] |
Here is how to not prove a judgement.
|
nothing [Derivations] |
If you're iterating over a series of premises, it is sometimes convenient to
say that one of them requires no special operations because of a certain
rule...
|
nth_opt [MzList] |
Just like
List.nth except it returns an Option type.
|
O | |
one [LazyList] | |
option_of_result [Derivations] |
Get the
env option part of a result.
|
P | |
p [KindCheck] | |
p [Lexer] | p displays the position that is passed as an argument.
|
p_kind [Types.TypePrinter] | |
p_unit [Expressions] |
The
() (unit) pattern.
|
par [Derivations] |
This is a slightly different combinator, that allows you to try several
rules to prove the same judgement.
|
parameter [Fact] |
A fact for a parameter
p is a conjunction of implications of
the form m p => m , where m ranges over every mode.
|
parse_warn_error [TypeErrors] |
Set up the module to take into account the warn / error / silent settings
specified on the command-line.
|
pconstraint [Types.TypePrinter] | |
pdefinitions [Expressions.ExprPrinter] | |
pderivation [DerivationPrinter] | |
penv [Types.TypePrinter] | |
pexpr [Expressions.ExprPrinter] | |
pfact [Types.TypePrinter] | |
pgroup [KindPrinter] | |
pmaybe_qualified_datacon [Expressions.ExprPrinter] | |
pname [Types.TypePrinter] | |
pnames [Types.TypePrinter] | |
ppat [Expressions.ExprPrinter] | |
ppermission_list [Types.TypePrinter] | |
ppermissions [Types.TypePrinter] | |
premises [Derivations] |
The most intuitive way of writing down the premises for a judgement: you
just list all the results that have to be successful for this judgement to be
true, and
premises takes care of chaining them left-to-right.
|
print [Fact] | print param head fact is a textual representation of the fact
fact .
|
print [Mode] |
Printing.
|
print [Identifier.Make] | |
print [Kind] | print and print_kind convert a kind to a textual representation.
|
print [SurfaceSyntaxPrinter] | |
print_binder [Expressions.ExprPrinter] | |
print_binders [Types.TypePrinter] | |
print_branch [Types.TypePrinter] | |
print_constraint [Types.TypePrinter] | |
print_data_field_def [Types.TypePrinter] | |
print_datacon [Types.TypePrinter] | |
print_datacon_reference [Expressions.ExprPrinter] | |
print_definitions [Expressions.ExprPrinter] | |
print_derivation [DerivationPrinter] | |
print_ebinder [Expressions.ExprPrinter] | |
print_error [TypeErrors] |
Once an exception is catched, it can be printed with
Log.error and
%a ...
|
print_error [Lexer] | print_error displays a lexer error.
|
print_expr [Expressions.ExprPrinter] | |
print_facts [Types.TypePrinter] | |
print_field [Types.TypePrinter] | |
print_field_name [Types.TypePrinter] | |
print_kind [Kind] | |
print_kinds_and_facts [KindPrinter] | |
print_maybe_qualified_datacon [Expressions.ExprPrinter] | |
print_names [Types.TypePrinter] | |
print_pat [Expressions.ExprPrinter] | |
print_patexpr [Expressions.ExprPrinter] | |
print_patexprs [Expressions.ExprPrinter] | |
print_permission_list [Types.TypePrinter] | |
print_permissions [Types.TypePrinter] | |
print_point [Types.TypePrinter] | |
print_position [Lexer] | print_position displays the lexer's current position.
|
print_quantified [Types.TypePrinter] | |
print_rec_flag [Expressions.ExprPrinter] | |
print_sig_item [Expressions.ExprPrinter] | |
print_signature [Driver] | print_signature prints out (in order, and in a fancy manner) the types that have been
found in the file.
|
print_tapp [Expressions.ExprPrinter] | |
print_type [Types.TypePrinter] | |
print_var [Types.TypePrinter] | |
process [Driver] | process doesn't catch exceptions.
|
psigitem [Expressions.ExprPrinter] | |
ptag [Utils] | |
ptype [Types.TypePrinter] | |
pvar [Types.TypePrinter] | |
Q | |
qed [Derivations] |
This is the final operator that finishes a derivation.
|
R | |
raise_error [TypeErrors] |
This function raises an exception that will be later on catched in
Driver .
|
raise_level [Log] |
Perform an operation with the debug level raised by an amount.
|
read [Utils] | |
reduce [MzList] |
Same as
fold_left , but start folding on the head of the list instead of
giving an initial element.
|
refresh_mark [TypeCore] | |
register [Identifier.Make] | |
remove [GMap.S] | |
remove [GSet.S] | |
replace [MzString] | replace s1 s2 s replaces all occurrences of s1 with s2 in s .
|
repr [PersistentUnionFind] | |
reset [Bash] |
Reset the cursor to the top-left corner of the screen
|
reset_permissions [TypeCore] |
Reset the permissions of a term variable.
|
resolve_branch [Expressions] |
Use this to transform the branch from a
type_def into something that's
suitable for manipulation as a type.
|
resolve_datacon [KindCheck] | resolve_datacon env dref looks up the possibly-qualified data constructor
dref.datacon_unresolved in the environment env .
|
resolved_datacons_equal [TypeCore] |
Equality function on resolved data constructors.
|
resugar [Resugar] |
This function converts a type expressed in the internal syntax back
to the surface syntax.
|
root_dir [Configure] | |
run [Driver] | run runs the specified function and prints any error that may pop up.
|
S | |
same [TypeCore] |
Are these two variables the same? This is a low-level operation and you
probably want to use
equal instead.
|
same [PersistentUnionFind] | |
same_absolute_path [Utils] | |
set [PersistentRef] | |
set [InfiniteArray] | set a i x sets the element contained at offset i in the array
a to x .
|
set_definition [TypeCore] |
Set a definition.
|
set_fact [TypeCore] |
Set a fact
|
set_floating_permissions [TypeCore] |
Set the list of permissions that are floating in this environment.
|
set_permissions [TypeCore] |
Set the permissions of a term variable.
|
silent [Log] |
Perform an operation with the debug output disabled.
|
singleton [GMap.S] | |
singleton [GSet.S] | |
snd3 [Types] | |
split [MzString] | split s c will split string s on character c
|
split3 [MzList] |
Same as
List.split but for triples instead of pairs.
|
split_map [MzList] | split_map f xs is equivalent to List.split (List.map f xs) .
|
strict_add [GMap.S] | |
sub [Permissions] | sub env var t tries to extract t from the available permissions for
var and returns, if successful, the resulting environment.
|
sub_constraint [Permissions] | |
sub_perm [Permissions] | |
sub_type [Permissions] | sub_type env t1 t2 tries to perform t1 - t2 .
|
subset [GSet.S] | |
substring [MzString] | substring s i j will return all characters from string s comprised
between indices i (included) and j (excluded).
|
surface_print_var [Resugar] |
This function converts an internal name to a possibly-qualified name
in the surface syntax.
|
T | |
take [MzList] |
If
f may convert an 'a into a 'b, then take f l returns the first
convertible element in the list, along with the remaining elements in the
list.
|
take_bool [MzList] | |
thd3 [Types] | |
theight [Bash] |
The terminal's height.
|
tl [LazyList] | |
to_list [MzMap.S] | to_list translates the map to a list.
|
to_list [Option] | |
token [Lexer] | token is the main entry point of the lexer.
|
top [Mode] |
The greatest element of the lattice.
|
total [Mode.ModeMap] | |
touch_branch [TypeCore] |
Need to modify the branch hidden beneath a type? Use this helper.
|
translate_data_type_group [TransSurface] | translate_data_type_group extend env group translates a data type group.
|
translate_implementation [TransSurface] | translate_implementation translates a compilation unit.
|
translate_implementation [Mezzo2UntypedMezzo] | |
translate_implementation [UntypedMezzo2UntypedOCaml] | |
translate_interface [TransSurface] | translate_interface translates an interface.
|
translate_interface [Mezzo2UntypedMezzo] | |
translate_interface [UntypedMezzo2UntypedOCaml] | |
translate_interface_as_implementation_filter [UntypedMezzo2UntypedOCaml] | |
translate_module_name [UntypedMezzo2UntypedOCaml] | |
translate_type_reset [TransSurface] | translate_type_reset translates a type.
|
try_finally [Utils] | |
try_proof [Derivations] |
This is the most frequent way of trying to prove a judgement.
|
try_several [Derivations] |
This is another way of proving a judgement, namely by trying several
instances of the same rule on different items.
|
tsubst [DeBruijn] | tsubst t1 i t2 substitues t1 for index i in t2
|
tsubst_branch [DeBruijn] |
Same thing with a data type branch.
|
tsubst_data_type_group [DeBruijn] |
Same thing with a data type group.
|
tsubst_expr [Expressions] | |
twidth [Bash] |
The terminal's width.
|
ty_app [Types] | ty_app t ts is TyApp (t, ts) if List.length ts > 0 , t otherwise.
|
ty_bar [Types] | ty_bar t1 t2 is TyBar (t1, t2) is t2 is not TyEmpty , t1 otherwise.
|
ty_bottom [TypeCore] |
The bottom type.
|
ty_equals [Types] |
Shortcut for
TySingleton (TyOpen _) .
|
ty_open [Types] |
A open variable.
|
ty_tuple [Types] |
A tuple.
|
ty_unit [Types] |
Shortcut for the empty tuple
TyTuple [] .
|
U | |
unify [Permissions] | unify env p1 p2 merges two vars, and takes care of dealing with how the
permissions should be merged.
|
union [MzMap.S] | union m1 m2 keeps the values from m1
|
union [GMap.S] | |
union [GSet.S] | |
union [PersistentUnionFind] | |
union_computed [PersistentUnionFind] | |
unit_bool [Option] |
Since
unit option and bool are isomorphic, this function implements the
morphism from unit option to bool .
|
update [PersistentUnionFind] | |
update_definition [TypeCore] |
Update a definition.
|
update_variance [TypeCore] |
Update variance.
|
V | |
valid [PersistentUnionFind] | |
valid [PersistentRef] | |
variance [Types] |
Get the variance of the i-th parameter of a data type.
|
W | |
warn [Log] |
A warning is a message that always appears, even when debug is disabled.
|
warn_count [Log] | |
warn_error_list [Grammar] | |
with_open_in [Utils] | |
with_open_out [Utils] | |
X | |
xor [MzMap.S] | xor m1 m2 is (m1 ∪ m2 ) \ (m1 ∩ m2 )
|