All Classes and Interfaces
Class
Description
Base class for lists whose contents are constant after creation.
Shuttle that counts how many times each expression is used.
Result of an analysis.
Work space where the uses of a binding are counted.
How a binding (assignment of a value to a variable) is used.
A compiled expression that can be evaluated by applying to an argument.
Applicable whose argument is a 3-tuple.
Applicable whose argument is a 3-tuple.
Abstract implementation of
Applicable that describes itself
with a constant name.Various sub-classes of AST nodes.
Call to an aggregate function in a
compute clause.Parse tree node of an expression annotated with a type.
Pattern that is a pattern annotated with a type.
Application of a function to its argument.
Layered pattern.
Case expression.
Not really a type, just a way for the parser to represent the type
arguments to a type constructor.
A
compute clause in a from expression.Type constructor pattern with no argument.
Type constructor pattern with an argument.
Parse tree node of a datatype binding.
Parse tree node of a datatype declaration.
Base class for declarations.
Sort order.
Base class of expression ASTs.
Lambda expression.
From expression.
A step in a
from expression - where, group
or order.One of the branches (separated by 'and') in a 'fun' function
declaration.
Function type.
Parse tree node of a function declaration.
One of the branches (separated by '|') in a 'fun' function declaration.
A
group clause in a from expression.Parse tree node of an identifier.
Named pattern, the pattern analog of the
Ast.Id expression."If ...
Call to an infix operator.
Pattern build from an infix operator applied to two patterns.
"Let" expression.
List expression.
List pattern, the pattern analog of the
Ast.ListExp expression.Parse tree node of a literal (constant).
Literal pattern, the pattern analog of the
Ast.Literal expression.Match.
Parse tree for a named type (e.g.
An
order clause in a from expression.An item in an
order clause.Base class for a pattern.
Call to a prefix operator.
Record.
Record pattern.
Parse tree node of a record selector.
Parse tree node of a record type.
A scan (e.g.
A
skip clause in a from expression.A
take clause in a from expression.Tuple.
Tuple pattern, the pattern analog of the
Ast.Tuple expression.Tuple type.
Type constructor.
Base class for parse tree nodes that represent types.
Parse tree node of a type variable.
Value bind.
Parse tree node of a value declaration.
A
where clause in a from expression.Wildcard pattern.
A
yield clause in a from expression.Builds parse tree nodes.
Abstract syntax tree node.
Context for writing an AST out as a string.
Abstract implementation of Type.
Binding of a name to a type and a value.
Built-in constants and functions.
Callback used when defining a datatype.
Built-in structure.
Runtime context.
Evaluates a Calcite relational expression,
converting it to Morel list type
type.Extension to Calcite context that remembers the foreign value
for each name.
Copied from
Programs.Data context that has no variables.
Compiles an expression to code that can be evaluated.
Extension to
Code that can also provide a translation to
relational algebra.Translation context.
How a Morel variable maps onto the columns returned from a Join.
Value based on a Calcite schema.
Calcite table-valued user-defined function that evaluates a Morel
expression and returns the result as a relation.
Operand to a user-defined function.
Execution context.
Calcite user-defined function that applies a Morel function (or closure)
to an argument.
Compiled state.
Calcite user-defined function that evaluates a Morel string and returns
a scalar value.
Compiled state.
Calcite user-defined function that evaluates a Morel string and
returns a table.
Compiled state.
Value that is sufficient for a function to bind its argument
and evaluate its body.
Callback for
Closure.bindRecurse(Core.Pat, Object, BiConsumer) that
modifies an environment.A compiled expression, that can be evaluated.
Helpers for
Code.Code that implements
Codes.andAlso(Code, Code).Applies an
Applicable to a Code.Applies an
Applicable2 to two Code arguments.Applies an
Applicable3 to three Code arguments.Abstract implementation for row sinks that have one successor.
Definitions of Morel built-in exceptions.
Implementation of
Codes.RowSink that the last step of a from
writes into.Code that implements a constant.
Code that retrieves the value of a variable from the environment.
Code that retrieves, as a tuple, the value of several variables from the
environment.
Implementation of
Codes.RowSink for a group clause.Implements
BuiltIn.INTERACT_USE.Code that implements
Codes.let(List, Code) with one argument.Code that implements
Codes.let(List, Code) with multiple arguments.Implements
BuiltIn.LIST_HD.Implements
BuiltIn.LIST_LAST.Implements
BuiltIn.LIST_NTH
and BuiltIn.VECTOR_SUB.Implements
BuiltIn.LIST_TABULATE.Implements
BuiltIn.LIST_TAKE.Implements
BuiltIn.LIST_TL.Java exception that wraps an exception thrown by the Morel runtime.
Implements
BuiltIn.OPTION_VAL_OF.Implementation of
Codes.RowSink for an order clause.Code that implements
Codes.orElse(Code, Code).An
Applicable whose position can be changed.Implements
BuiltIn.REAL_CHECK_FLOAT.Implements
BuiltIn.REAL_COMPARE.Implements
BuiltIn.REAL_COMPARE.Implements
BuiltIn.RELATIONAL_ONLY.Accepts rows produced by a supplier as part of a
from clause.Implementation of
Codes.RowSink for a join clause.Implementation of
Codes.RowSink for a skip clause.Implements
BuiltIn.STRING_CONCAT.Implements
BuiltIn.STRING_CONCAT_WITH.Implements
BuiltIn.STRING_SUB.Implements
BuiltIn.STRING_SUB.Implements
BuiltIn.STRING_SUBSTRING.Implementation of
Codes.RowSink for a take clause.A code that evaluates expressions and creates a tuple with the results.
Implements
BuiltIn.VECTOR_UPDATE.Implementation of
Codes.RowSink for a where clause.Implementation of
Codes.RowSink for a yield step.A comparable singleton list.
Statement that has been compiled and is ready to be run from the
REPL.
An error occurred during compilation.
Compiles an expression to code that can be evaluated.
Something that needs to happen when a declaration is evaluated.
Compilation context.
A piece of code that is references another piece of code.
Code that implements
Compiler.compileMatchList(Context, List).Helpers for
Compiler and TypeResolver.List that consists of a head element and an immutable non-empty list.
Converts from a Calcite row to a Morel value (often a record).
Utilities for Converter.
Converter from Calcite types to Morel types.
Converts a field from Calcite to Morel format.
Converter that creates a record.
Core expressions.
Call to an aggregate function in a
compute clause.Application of a function to its argument.
Layered pattern.
Abstract base class of Core nodes.
Consumer of bindings.
Case expression.
Type constructor pattern with no argument.
Type constructor pattern with an argument.
Datatype declaration.
Base class for declarations.
Base class of core expressions.
Lambda expression.
From expression.
A step in a
from expression - where, group
or order.A
group clause in a from expression.Reference to a variable.
Named pattern.
"Let" expression.
List pattern.
Code of a literal (constant).
Literal pattern, the pattern analog of the
Core.Literal expression."Local" expression.
Match.
Base class for named patterns (
Core.IdPat and Core.AsPat).Non-recursive value declaration.
An
order clause in a from expression.An item in an
order clause.Base class for a pattern.
Record pattern.
Record selector function.
Recursive value declaration.
A
join or v in listExpr or v = expr clause in a
from expression.A
skip clause in a from expression.A
take clause in a from expression.Tuple expression.
Tuple pattern, the pattern analog of the
Core.Tuple expression.Abstract (recursive or non-recursive) value declaration.
A
where clause in a from expression.Wildcard pattern.
Wraps a value as a Comparable, and stores the global expression from which
the value was derived.
Step that computes an expression.
Builds parse tree nodes.
Data set for testing.
Algebraic type.
Can be visited by a
Describer.Describes a plan (tree of
Code or Applicable objects).Provided as a callback while describing a node.
Implementation of
.Describer.Type that is a place-holder for a type constructor that has no arguments;
for example, "NONE" in "datatype 'a option = NONE | SOME of 'a" would have
dummy type.
Environment for validation/compilation.
Helpers for
Environment.Empty environment.
Environment that keeps bindings in a map.
Environment that inherits from a parent environment and adds one
binding.
Shuttle that keeps an environment of what variables are in scope.
Shuttle that keeps an environment of what variables are in scope.
Where we are in an iteration through the steps of a
from.Evaluation environment.
Helpers for
EvalEnv.Similar to
MutableEvalEnv but binds several names.Evaluation environment that reads from a map.
Similar to
MutableEvalEnv but binds several names;
extends EvalEnvs.ArraySubEvalEnv adding mutability.Evaluation environment that binds several slots based on a pattern.
Similar to
EvalEnvs.SubEvalEnv but mutable.Immutable copy of
EvalEnvs.MutablePatSubEvalEnv.Evaluation environment that inherits from a parent environment and adds
one binding.
Generates an expression for the set of values that a variable can take in
a program.
A "suchthat" expression split into an extent and filters.
Directory in the file system.
Implementations of
File.Abstract implementation of File.
File that is not a directory, and can be parsed into a set of records.
File that is a directory.
Describes a type of file that can be read by this reader.
File that we have not yet categorized.
The type of a function value.
Enable creating right-deep trees.
Sub-class of
Folder that marks the end of a list.Universally quantified type.
External value.
Builds a
Core.From.Category of expression passed to "yield".
Immutable list of pairs.
Shuttle that inlines constant values.
Version of the JDK.
Type keys.
Key of a type that applies a parameterized type to specific type
arguments.
Key that identifies a
datatype scheme.Key of a forall type.
Key that identifies a type by name.
Key of a type that applies a built-in type constructor to specific type
arguments.
Key that identifies a type by ordinal.
Key of a record type.
The type of a list value.
A function that is 'called' at compile time,
and generates an expanded parse tree.
Standard ML REPL.
Reader that snoops which characters have been read and saves
them in a buffer until
Main.BufferingReader.flush() is called.Shell (or sub-shell created via
net.hydromatic.morel.compile.BuiltIn#INTERACT_USE) that can
execute commands and handle errors.Shell that is created via the
net.hydromatic.morel.compile.BuiltIn#INTERACT_USE) command.Simple implementation of
Map.Entry.Read-only list that generates elements between 0 and
size - 1
by applying a function.Unification algorithm due to Martelli, Montanari (1976) and
Paterson, Wegman (1978).
Interface implemented by all exceptions in Morel.
An evaluation environment whose last entry is mutable.
Type that has a name.
Generates unique names.
Sub-types of
AstNode.Pair of an element and an ordinal.
Consumer that receives an ordinal, a key, and a value.
List of
Ord backed by an array of elements.List of
Ord backed by a list of elements.List of
Ord backed by a random-access list of elements.Pair of objects.
Iterator that returns consecutive pairs of elements from an underlying
iterator.
Iterator that returns the first element of a collection paired with every
other element.
Iterator that returns the left field of each pair.
A mutable list of pairs backed by a pair of mutable lists.
Represents an operation that accepts two input arguments and an ordinal,
and returns no result.
Iterator that returns the right field of each pair.
Iterator that pairs elements from two iterators.
Unmodifiable list of pairs, backed by a pair of lists.
A list of pairs, stored as a quotient list.
Builds a PairList.
Action to be taken each step of an indexed iteration over a PairList.
Various implementations of
PairList.Base class for all implementations of PairList.
Immutable list of pairs backed by an array.
Empty immutable list of pairs.
Mutable version of
PairList.Base class for a list that implements
RandomAccess.Immutable list that contains one pair.
Base class for types that accept type parameters.
Checks whether patterns are exhaustive and/or redundant.
Payload of a
Sat.Variable that is an algebraic type.List that removes one particular element from a backing list.
Identifies a point in a nested pattern.
Path that is a child of a given parent path.
Position of a parse-tree node.
Prints values.
Wrapper that indicates that a value should be printed "label:type".
Wrapper that indicates that a value should be printed "name = value".
Wrapper that indicates that a value should be printed
"val name = value : type".
Wrapper around a type value.
Primitive type.
Progressive record type.
Property.
A type and a range set.
A type that has named fields, as a record type does.
Record type.
Validates expressions, making sure that every
Core.Id
exists in the environment.A list whose contents are computed by evaluating a relational
expression.
Converts AST expressions to Core expressions.
Helper for initialization.
Pattern and expression.
Visitor that finds all references to unbound variables in an expression.
Resolved datatype declaration.
Resolved declaration.
Robinson's unification algorithm.
Boolean satisfiability.
"And" term.
Assignment of a variable to a value.
Term that has a variable number of arguments ("and" or "or").
"Not" term.
Operator (or type of term), with its left and right precedence and print
name.
"Or" term.
Base class for all terms (variables, and, or, not).
Variable.
Session environment.
Callback to implement "use" command.
Various implementations of
Session.Shell.Command shell for ML, powered by JLine3.
Shell configuration.
Implementation of
Shell.Config.Abstraction of a terminal's line reader.
Type of line from
Shell.LineFn.Implementation of
Shell.LineFn that reads from a reader.Simplified shell that works in both interactive mode (where input and
output is a terminal) and batch mode (where input is a file, and output
is to an array of lines).
Implementation of
Shell.LineFn that reads from JLine's terminal.Visits and transforms syntax trees.
Utilities.
Converts
suchThat to in wherever possible.Workspace for converting a particular
Core.From from "suchthat"
to "in" form.Maps patterns from their name in the "from" to their name after a sequence
of renames.
Signals that we could not rewrite.
A dynamic list that reads from a given point in a backing list.
Utilities for
ThreadLocal.Called on various events during compilation.
Utilities for
Tracer.Implementations of
Unifier.Tracer.Tracer that delegates to an underlying tracer.
Tracer that does nothing.
Implementation of
Unifier.Tracer that does nothing.Implementation of
Unifier.Tracer that writes to a given
PrintWriter.The type of a tuple value.
Type.
Structural identifier of a type.
A value that knows its own type.
The result of type resolution, a map from AST nodes to types.
Visitor that converts type terms into actual types.
Resolves the type of an expression.
A type environment that consists of a type environment plus one
binding.
Empty substitution.
Empty type environment.
Visitor that expands progressive types if they are used in field
references.
Workspace for converting types to keys.
Substitution that adds one (type, variable) assignment to a parent
substitution.
Result of validating a declaration.
Substitution.
Pair consisting of a term and a variable.
Type environment.
Error while deducing type.
Visitor over
Type objects that returns types.A table that contains all types in use, indexed by their description (e.g.
Provides access to type variables from within a call to
TypeSystem.forallType(int, Function).Type variable (e.g.
Visitor over
Type objects.Given pairs of terms, finds a substitution to minimize those pairs of
terms.
Called by the unifier when a Term's type becomes known.
Control flow exception, thrown by
Unifier.Term.checkCycle(Map, Map) if
it finds a cycle in a substitution map.Result indicating that unification was not possible.
Result of attempting unification.
A sequence of terms.
Map from variables to terms.
The results of a successful unification.
Term (variable, symbol or node).
A pair of terms.
Visitor for terms.
Called on various events during unification.
A variable that represents a symbol or a sequence; unification's
task is to find the substitutions for such variables.
A placeholder value for the "unit" type.
Visits syntax trees.