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.
Applies a Code to a Code.
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.
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_TAKE.
Implements BuiltIn.LIST_TL.
Java exception that wraps an exception thrown by the Morel runtime.
Implementation of Codes.RowSink for an order clause.
Code that implements Codes.orElse(Code, Code).
An Applicable whose position can be changed.
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_SUB.
Implements BuiltIn.STRING_SUB.
Implementation of Codes.RowSink for a take clause.
A code that evaluates expressions and creates a tuple with the results.
Implementation of Codes.RowSink for a where clause.
A Code that evaluates a Code and if the result is a RelList, wraps it in a different kind of list.
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.
Helpers for Compiler and TypeResolver.
Visitor that adds a Binding each time it see an Core.IdPat or Core.AsPat.
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.
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.
Shuttle that converts calls to BuiltIn.LIST_FILTER and BuiltIn.LIST_MAP into Core.From expressions.
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).
Visitor that finds all TypeVar instances within a Type.
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.