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.
Like a list, but ArrayQueue.poll() (equivalent to remove(0) is O(1).
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 step in a from expression.
Type constructor pattern with no argument.
Type constructor pattern with an argument.
Parse tree node of the "current" reference.
Parse tree node of a datatype binding.
Parse tree node of a datatype declaration.
Base class for declarations.
A distinct step in a from expression.
An except step in a from expression.
Exists expression.
Base class of expression ASTs.
Lambda expression.
Forall 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 step in a from expression.
Parse tree node of an identifier.
Named pattern, the pattern analog of the Ast.Id expression.
"If ... else" expression.
Call to an infix operator.
Pattern build from an infix operator applied to two patterns.
An intersect step in a from expression.
An into step in a from expression.
"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 step in a from expression.
Parse tree node of the "ordinal" reference.
Parse tree node of an overload declaration.
Base class for a pattern.
Call to a prefix operator.
Base class for "from", "exists" or "forall" expression.
Record.
Record pattern.
Parse tree node of a record selector.
Parse tree node of a record type.
A require step in a forall expression.
A scan (e.g.
Base class for a step that is a set operation (union, intersect, except).
A skip step in a from expression.
A take step in a from expression.
An through step 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.
A union step in a from expression.
An unorder step in a from expression.
Value bind.
Parse tree node of a value declaration.
A where step in a from expression.
Wildcard pattern.
A yield step 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.
What kind of binding?
Built-in constants and functions.
Built-in type.
Built-in constructor of a datatype.
Built-in datatype.
Callback used when defining a datatype.
Built-in equality type.
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.
Converts a database object name to a Morel field name.
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 Applicable that has a single char argument.
Implementation of Codes.RowSink that the last step of a from writes into.
Implementation of Codes.RELATIONAL_COMPARE.
Code that implements a constant.
Implementation of Codes.RowSink for non-distinct except step.
Implementation of Codes.RowSink for a distinct except step.
First row sink in the chain.
Code that evaluates a query.
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 step.
Implements Codes.INT_DIV and Codes.OP_DIV.
Implementation of Codes.RowSink for a non-distinct intersect step.
Implementation of Codes.RowSink for a distinct intersect step.
Implements Codes.INT_MOD and Codes.OP_MOD.
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 step.
Implementation of Code that evaluates the current row ordinal.
Implementation of Code that increments the current row ordinal then calls another Code.
Code that implements Codes.orElse(Code, Code).
An Applicable whose position can be changed.
Implementation of both Applicable and Codes.Positioned.
Accepts rows produced by a supplier as part of a from step.
Implementation of Codes.RowSink for a join step.
Implementation of Codes.RowSink for an except, intersect, or union step.
Implementation of Codes.RowSink for a skip step.
Implements BuiltIn.STRING_SUB.
Implements BuiltIn.STRING_SUB.
Implementation of Codes.RowSink for a take step.
A code that evaluates expressions and creates a tuple with the results.
An Applicable whose type may be specified.
Implementation of Codes.RowSink for a union step.
Implementation of Codes.RowSink for a where step.
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.
Implementation of Describer that just traverses the tree.
A comparable singleton list.
 
Contains shared state while building comparators for various types.
Sentinel value.
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.
An except clause in a from expression.
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.
An intersect clause in a from expression.
"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.
Overloaded operator declaration.
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.
Environment for a step.
A take clause in a from expression.
Tuple expression.
Tuple pattern, the pattern analog of the Core.Tuple expression.
A union clause in a from expression.
Step that converts the stream to an unordered collection.
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.
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.
Similar to MutableEvalEnv but binds several names; extends EvalEnvs.ListSubEvalEnv 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.
Result of analyzing the variables in a query, pulling filters into the extent expression for each variable, so that no variable is over an infinite extent.
 
 
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 function type.
Key of a forall type.
Key of a list type.
Key that identifies a MultiType.
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 that identifies a ProgressiveRecordType.
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).
 
As Unifier.Constraint, but mutable.
Interface implemented by all exceptions in Morel.
Overloaded type.
An evaluation environment whose last entry is mutable.
Type that has a name.
Generates unique names.
Subtypes 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.
List of pairs backed by a map.
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.
Allowed values for Prop.OUTPUT 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.
Replaces identifiers with other identifiers.
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 unbounded variables to bounded variables.
Maintains a list of steps that have not been applied yet.
Finds free variables in an expression.
Workspace for converting unbounded variables in a particular Core.From to bounded scans.
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 allows each of its methods to be modified using a handler.
Implementation of Tracers.ConfigurableTracer that has a field for each handler.
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.
Consumer that accepts four arguments.
Represents an operation that accepts three input arguments and returns no result.
The type of a tuple value.
Cache of the string representations of integers.
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 all the types within 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.
Instance of an overloaded function.
Workspace for converting types to keys.
 
Substitution that adds one (type, variable) assignment to a parent substitution.
Result of validating a declaration.
Factory that always returns a given Unifier.Term.
Substitution.
Pair consisting of a term and a variable.
Output of the type resolution of a from step, and input to the next step.
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.
Constraint arising from a call to an overloaded function.
Called when a constraint is narrowed down to one possibility.
Control flow exception, thrown by Unifier.Term.checkCycle(Map, Map) if it finds a cycle in a substitution map.
An action that, when executed, marks two terms as equivalent.
Result indicating that unification was not possible.
Result of attempting unification.
Result indicating that unification may be possible if we adjust some initial parameters.
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.
Utilities for unification.
A placeholder value for the "unit" type.
Visits syntax trees.