A B C D E F G H I L M N O P R S T U V W Y Z 
All Classes All Packages

A

a - Variable in class net.hydromatic.morel.ast.Ast.PrefixCall
 
a0 - Variable in class net.hydromatic.morel.ast.Ast.InfixCall
 
a1 - Variable in class net.hydromatic.morel.ast.Ast.InfixCall
 
ABS - net.hydromatic.morel.compile.BuiltIn
Function "abs", of type "int → int".
accept(int, K, V) - Method in interface net.hydromatic.morel.util.Ord.IntObjObjConsumer
 
accept(int, K, V) - Method in interface net.hydromatic.morel.util.Pair.PairWithOrdinalConsumer
Performs this operation on the given arguments.
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Aggregate
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.AnnotatedExp
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.AnnotatedPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Apply
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Case
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.CompositeType
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Con0Pat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.ConPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.DatatypeBind
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.DatatypeDecl
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Decl
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Exp
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Fn
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.From
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.FunBind
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.FunctionType
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.FunDecl
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.FunMatch
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Id
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.IdPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.If
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.InfixCall
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.InfixPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.LetExp
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.List
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.ListPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Literal
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.LiteralPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Match
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.NamedType
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Pat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.PrefixCall
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Record
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.RecordPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.RecordSelector
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.RecordType
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Tuple
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.TuplePat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.TupleType
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.TyCon
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.Type
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.TyVar
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.ValBind
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.ValDecl
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.Ast.WildcardPat
 
accept(Shuttle) - Method in class net.hydromatic.morel.ast.AstNode
Accepts a shuttle, calling the Shuttle.visit(net.hydromatic.morel.ast.Ast.Literal) method appropriate to the type of this node, and returning the result.
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.ApplyType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.DataType
 
accept(TypeVisitor<R>) - Method in enum net.hydromatic.morel.type.DummyType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.FnType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.ForallType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.ListType
 
accept(TypeVisitor<R>) - Method in enum net.hydromatic.morel.type.PrimitiveType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.RecordType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.TupleType
 
accept(TypeVisitor<R>) - Method in interface net.hydromatic.morel.type.Type
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
accept(TypeVisitor<R>) - Method in class net.hydromatic.morel.type.TypeVar
 
accept(Unifier.TermVisitor<R>) - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
accept(Unifier.TermVisitor<R>) - Method in interface net.hydromatic.morel.util.Unifier.Term
 
accept(Unifier.TermVisitor<R>) - Method in class net.hydromatic.morel.util.Unifier.Variable
 
accept(Unifier.Variable, Unifier.Term, List<Unifier.TermTerm>) - Method in interface net.hydromatic.morel.util.Unifier.Action
 
add(int, E) - Method in class net.hydromatic.morel.util.TailList
 
add(E) - Method in class net.hydromatic.morel.util.TailList
 
addAll(int, Collection<? extends E>) - Method in class net.hydromatic.morel.util.TailList
 
addAll(Collection<? extends E>) - Method in class net.hydromatic.morel.util.TailList
 
adjacents(Iterable<T>) - Static method in class net.hydromatic.morel.util.Pair
Returns an iterator that iterates over (i, i + 1) pairs in an iterable.
aggregate - Variable in class net.hydromatic.morel.ast.Ast.Aggregate
 
aggregate(Pos, Ast.Exp, Ast.Exp, Ast.Id) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
aggregate(Environment, Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
 
Aggregate(Pos, Ast.Exp, Ast.Exp, Ast.Id) - Constructor for class net.hydromatic.morel.ast.Ast.Aggregate
 
AGGREGATE - net.hydromatic.morel.ast.Op
 
aggregates - Variable in class net.hydromatic.morel.ast.Ast.From
 
alias - Variable in enum net.hydromatic.morel.compile.BuiltIn
An alias, or null.
andAlso(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
andAlso(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "andalso".
ANDALSO - net.hydromatic.morel.ast.Op
 
ANNOTATED_EXP - net.hydromatic.morel.ast.Op
 
ANNOTATED_PAT - net.hydromatic.morel.ast.Op
 
annotatedExp(Pos, Ast.Type, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
annotatedPat(Pos, Ast.Pat, Ast.Type) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
append(String) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a string to the output.
append(AstNode, int, int) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a parse tree node.
appendAll(Iterable<? extends AstNode>, int, Op, int) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a list of parse tree nodes.
appendAll(Iterable<? extends AstNode>, String) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a list of parse tree nodes separated by sep.
appendAll(Iterable<? extends AstNode>, String, String, String) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a list of parse tree nodes separated by sep, and also with prefix and suffix: start node0 sep node1 ... sep nodeN end.
appendAll(Iterable<? extends AstNode>, String, String, String, String) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a list of parse tree nodes separated by sep, and also with prefix and suffix: start node0 sep node1 ... sep nodeN end.
Applicable - Interface in net.hydromatic.morel.eval
A compiled expression that can be evaluated by applying to an argument.
apply(String, Iterable<Unifier.Term>) - Method in class net.hydromatic.morel.util.Unifier
Creates a sequence, or returns an existing one with the same terms.
apply(String, Unifier.Term...) - Method in class net.hydromatic.morel.util.Unifier
Creates a sequence, or returns an existing one with the same terms.
apply(Map<Unifier.Variable, Unifier.Term>) - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
apply(Map<Unifier.Variable, Unifier.Term>) - Method in interface net.hydromatic.morel.util.Unifier.Term
 
apply(Map<Unifier.Variable, Unifier.Term>) - Method in class net.hydromatic.morel.util.Unifier.Variable
 
apply(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
apply(Applicable, Code) - Static method in class net.hydromatic.morel.eval.Codes
Generates the code for applying a function value to an argument.
apply(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Generates the code for applying a function (or function value) to an argument.
apply(EvalEnv, Object) - Method in interface net.hydromatic.morel.eval.Applicable
 
apply(EvalEnv, Object) - Method in class net.hydromatic.morel.eval.Closure
 
apply(Type, List<Type>) - Method in class net.hydromatic.morel.type.TypeSystem
 
APPLY - net.hydromatic.morel.ast.Op
 
APPLY_TYPE - net.hydromatic.morel.ast.Op
 
ApplyType - Class in net.hydromatic.morel.type
Type that is a polymorphic type applied to a set of types.
ApplyType(Type, ImmutableList<Type>, String) - Constructor for class net.hydromatic.morel.type.ApplyType
 
arg - Variable in class net.hydromatic.morel.ast.Ast.Apply
 
argNameTypes - Variable in class net.hydromatic.morel.type.RecordType
 
args - Variable in class net.hydromatic.morel.ast.Ast.List
 
args - Variable in class net.hydromatic.morel.ast.Ast.ListPat
 
args - Variable in class net.hydromatic.morel.ast.Ast.Record
 
args - Variable in class net.hydromatic.morel.ast.Ast.RecordPat
 
args - Variable in class net.hydromatic.morel.ast.Ast.Tuple
 
args - Variable in class net.hydromatic.morel.ast.Ast.TuplePat
 
args() - Method in class net.hydromatic.morel.ast.Ast.Exp
Returns a list of all arguments.
argTypes - Variable in class net.hydromatic.morel.type.TupleType
 
argument - Variable in class net.hydromatic.morel.ast.Ast.Aggregate
 
asCode() - Method in interface net.hydromatic.morel.eval.Applicable
Converts this Applicable to a Code that has similar effect (but is less efficient).
ASSIGN - net.hydromatic.morel.ast.Op
 
ast - net.hydromatic.morel.ast.AstBuilder
The singleton instance of the AST builder.
Ast - Class in net.hydromatic.morel.ast
Various sub-classes of AST nodes.
Ast.Aggregate - Class in net.hydromatic.morel.ast
Call to an aggregate function in a compute clause.
Ast.AnnotatedExp - Class in net.hydromatic.morel.ast
Parse tree node of an expression annotated with a type.
Ast.AnnotatedPat - Class in net.hydromatic.morel.ast
Pattern that is a pattern annotated with a type.
Ast.Apply - Class in net.hydromatic.morel.ast
Application of a function to its argument.
Ast.Case - Class in net.hydromatic.morel.ast
Case expression.
Ast.CompositeType - Class in net.hydromatic.morel.ast
Not really a type, just a way for the parser to represent the type arguments to a type constructor.
Ast.Con0Pat - Class in net.hydromatic.morel.ast
Type constructor pattern with no argument.
Ast.ConPat - Class in net.hydromatic.morel.ast
Type constructor pattern with an argument.
Ast.DatatypeBind - Class in net.hydromatic.morel.ast
Parse tree node of a datatype binding.
Ast.DatatypeDecl - Class in net.hydromatic.morel.ast
Parse tree node of a datatype declaration.
Ast.Decl - Class in net.hydromatic.morel.ast
Base class for declarations.
Ast.Exp - Class in net.hydromatic.morel.ast
Base class of expression ASTs.
Ast.Fn - Class in net.hydromatic.morel.ast
Lambda expression.
Ast.From - Class in net.hydromatic.morel.ast
From expression.
Ast.FunBind - Class in net.hydromatic.morel.ast
One of the branches (separated by 'and') in a 'fun' function declaration.
Ast.FunctionType - Class in net.hydromatic.morel.ast
Function type.
Ast.FunDecl - Class in net.hydromatic.morel.ast
Parse tree node of a function declaration.
Ast.FunMatch - Class in net.hydromatic.morel.ast
One of the branches (separated by '|') in a 'fun' function declaration.
Ast.Id - Class in net.hydromatic.morel.ast
Parse tree node of an identifier.
Ast.IdPat - Class in net.hydromatic.morel.ast
Named pattern, the pattern analog of the Ast.Id expression.
Ast.If - Class in net.hydromatic.morel.ast
"If ...
Ast.InfixCall - Class in net.hydromatic.morel.ast
Call to an infix operator.
Ast.InfixPat - Class in net.hydromatic.morel.ast
Pattern build from an infix operator applied to two patterns.
Ast.LetExp - Class in net.hydromatic.morel.ast
"Let" expression.
Ast.List - Class in net.hydromatic.morel.ast
List.
Ast.ListPat - Class in net.hydromatic.morel.ast
List pattern, the pattern analog of the Ast.List expression.
Ast.Literal - Class in net.hydromatic.morel.ast
Parse tree node of a literal (constant).
Ast.LiteralPat - Class in net.hydromatic.morel.ast
Literal pattern, the pattern analog of the Ast.Literal expression.
Ast.Match - Class in net.hydromatic.morel.ast
Match.
Ast.NamedType - Class in net.hydromatic.morel.ast
Parse tree for a named type (e.g.
Ast.Pat - Class in net.hydromatic.morel.ast
Base class for a pattern.
Ast.PrefixCall - Class in net.hydromatic.morel.ast
Call to an prefix operator.
Ast.Record - Class in net.hydromatic.morel.ast
Record.
Ast.RecordPat - Class in net.hydromatic.morel.ast
Record pattern.
Ast.RecordSelector - Class in net.hydromatic.morel.ast
Parse tree node of a record selector.
Ast.RecordType - Class in net.hydromatic.morel.ast
Parse tree node of a record type.
Ast.Tuple - Class in net.hydromatic.morel.ast
Tuple.
Ast.TuplePat - Class in net.hydromatic.morel.ast
Tuple pattern, the pattern analog of the Ast.Tuple expression.
Ast.TupleType - Class in net.hydromatic.morel.ast
Tuple type.
Ast.TyCon - Class in net.hydromatic.morel.ast
Type constructor.
Ast.Type - Class in net.hydromatic.morel.ast
Base class for parse tree nodes that represent types.
Ast.TyVar - Class in net.hydromatic.morel.ast
Parse tree node of a type variable.
Ast.ValBind - Class in net.hydromatic.morel.ast
Value bind.
Ast.ValDecl - Class in net.hydromatic.morel.ast
Parse tree node of a value declaration.
Ast.WildcardPat - Class in net.hydromatic.morel.ast
Wildcard pattern.
AstBuilder - Enum in net.hydromatic.morel.ast
Builds parse tree nodes.
AstNode - Class in net.hydromatic.morel.ast
Abstract syntax tree node.
AstNode(Pos, Op) - Constructor for class net.hydromatic.morel.ast.AstNode
 
AstWriter - Class in net.hydromatic.morel.ast
Context for writing an AST out as a string.
AstWriter() - Constructor for class net.hydromatic.morel.ast.AstWriter
 
AT - net.hydromatic.morel.ast.Op
 
atom(String) - Method in class net.hydromatic.morel.util.Unifier
Creates an atom, or returns an existing one with the same name.

B

BAR - net.hydromatic.morel.ast.Op
 
BEFORE - net.hydromatic.morel.ast.Op
 
binary(String, AstNode, String, AstNode, int) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a call to a binary operator (e.g.
binary(String, AstNode, String, AstNode, String) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a call to a binary operator (e.g.
bind(String, Object) - Method in interface net.hydromatic.morel.eval.EvalEnv
Creates an environment that has the same content as this one, plus the binding (name, value).
bind(String, Type, Object) - Method in class net.hydromatic.morel.compile.Environment
Creates an environment that is the same as a given environment, plus one more variable.
bindAll(Iterable<Binding>) - Method in class net.hydromatic.morel.compile.Environment
Creates an environment that is the same as this, plus the given bindings.
Binding - Class in net.hydromatic.morel.type
Binding of a name to a type and a value.
Binding(String, Type, Object) - Constructor for class net.hydromatic.morel.type.Binding
 
bindMutable(String) - Method in interface net.hydromatic.morel.eval.EvalEnv
Creates an evaluation environment that has the same content as this one, plus a mutable slot.
binds - Variable in class net.hydromatic.morel.ast.Ast.DatatypeDecl
 
BOOL - net.hydromatic.morel.type.PrimitiveType
 
BOOL_LITERAL - net.hydromatic.morel.ast.Op
 
BOOL_LITERAL_PAT - net.hydromatic.morel.ast.Op
 
boolLiteral(Pos, boolean) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a boolean literal.
BuiltIn - Enum in net.hydromatic.morel.compile
Built-in constants and functions.
BY_ML_NAME - Static variable in enum net.hydromatic.morel.compile.BuiltIn
 

C

CalciteForeignValue - Class in net.hydromatic.morel.foreign
Value based on a Calcite schema.
CalciteForeignValue(SchemaPlus, boolean) - Constructor for class net.hydromatic.morel.foreign.CalciteForeignValue
Creates a CalciteForeignValue.
caret(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
caret(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "^" (string concatenation).
CARET - net.hydromatic.morel.ast.Op
 
CASE - net.hydromatic.morel.ast.Op
 
caseOf(Pos, Ast.Exp, Iterable<? extends Ast.Match>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
CHAR - net.hydromatic.morel.type.PrimitiveType
 
CHAR_LITERAL - net.hydromatic.morel.ast.Op
 
CHAR_LITERAL_PAT - net.hydromatic.morel.ast.Op
 
charLiteral(Pos, char) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a char literal.
checkCycle(Map<Unifier.Variable, Unifier.Term>, Map<Unifier.Variable, Unifier.Variable>) - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
checkCycle(Map<Unifier.Variable, Unifier.Term>, Map<Unifier.Variable, Unifier.Variable>) - Method in interface net.hydromatic.morel.util.Unifier.Term
Throws CycleException if expanding this term leads to a cycle.
checkCycle(Map<Unifier.Variable, Unifier.Term>, Map<Unifier.Variable, Unifier.Variable>) - Method in class net.hydromatic.morel.util.Unifier.Variable
 
clear() - Method in class net.hydromatic.morel.util.TailList
 
Closure - Class in net.hydromatic.morel.eval
Value that is sufficient for a function to bind its argument and evaluate its body.
Closure(EvalEnv, ImmutableList<Pair<Ast.Pat, Code>>) - Constructor for class net.hydromatic.morel.eval.Closure
Not a public API.
Code - Interface in net.hydromatic.morel.eval
A compiled expression, that can be evaluated.
codes - Variable in class net.hydromatic.morel.eval.Codes.TupleCode
 
Codes - Class in net.hydromatic.morel.eval
Helpers for Code.
Codes.TupleCode - Class in net.hydromatic.morel.eval
A code that evaluates expressions and creates a tuple with the results.
compareTo(Closure) - Method in class net.hydromatic.morel.eval.Closure
 
compareTo(Unit) - Method in class net.hydromatic.morel.eval.Unit
 
compareTo(Pair<T1, T2>) - Method in class net.hydromatic.morel.util.Pair
 
compareTo(Unifier.Variable) - Method in class net.hydromatic.morel.util.Unifier.Variable
 
compile(Environment, Ast.Exp) - Method in class net.hydromatic.morel.compile.Compiler
 
CompiledStatement - Interface in net.hydromatic.morel.compile
Statement that has been compiled and is ready to be run from the REPL.
CompileException - Exception in net.hydromatic.morel.compile
An error occurred during compilation.
CompileException(String) - Constructor for exception net.hydromatic.morel.compile.CompileException
 
Compiler - Class in net.hydromatic.morel.compile
Compiles an expression to code that can be evaluated.
Compiler(TypeResolver.TypeMap) - Constructor for class net.hydromatic.morel.compile.Compiler
 
Compiles - Class in net.hydromatic.morel.compile
Helpers for Compiler and TypeResolver.
Compiles() - Constructor for class net.hydromatic.morel.compile.Compiles
 
COMPOSE - net.hydromatic.morel.ast.Op
 
COMPOSITE_TYPE - net.hydromatic.morel.ast.Op
 
compositeType(Pos, Iterable<Ast.Type>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
CON_PAT - net.hydromatic.morel.ast.Op
 
CON0_PAT - net.hydromatic.morel.ast.Op
 
con0Pat(Pos, Ast.Id) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
condition - Variable in class net.hydromatic.morel.ast.Ast.If
 
conPat(Pos, Ast.Id, Ast.Pat) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
cons(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
cons(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "::" (list cons).
CONS - net.hydromatic.morel.ast.Op
 
CONS_PAT - net.hydromatic.morel.ast.Op
 
ConsList<E> - Class in net.hydromatic.morel.util
List that consists of a head element and an immutable non-empty list.
consPat(Ast.Pat, Ast.Pat) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
constant(Comparable) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates to the same value in all environments.
contains(Unifier.Variable) - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
contains(Unifier.Variable) - Method in interface net.hydromatic.morel.util.Unifier.Term
 
contains(Unifier.Variable) - Method in class net.hydromatic.morel.util.Unifier.Variable
 
copy(boolean, Ast.Pat, Ast.Exp) - Method in class net.hydromatic.morel.ast.Ast.ValBind
Creates a copy of this ValBind with given contents, or this if the contents are the same.
copy(Iterable<Ast.Decl>, Ast.Exp) - Method in class net.hydromatic.morel.ast.Ast.LetExp
Creates a copy of this LetExp with given contents, or this if the contents are the same.
copy(Iterable<Ast.ValBind>) - Method in class net.hydromatic.morel.ast.Ast.ValDecl
Creates a copy of this ValDecl with given contents, or this if the contents are the same.
copy(List<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.Tuple
 
copy(Map<Ast.Id, Ast.Exp>, Ast.Exp, Ast.Exp, List<Pair<Ast.Exp, Ast.Id>>, List<Ast.Aggregate>) - Method in class net.hydromatic.morel.ast.Ast.From
Creates a copy of this From with given contents, or this if the contents are the same.
copy(Ast.Exp, Ast.Exp) - Method in class net.hydromatic.morel.ast.Ast.Apply
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.ApplyType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.DataType
 
copy(TypeSystem, Function<Type, Type>) - Method in enum net.hydromatic.morel.type.DummyType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.FnType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.ForallType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.ListType
 
copy(TypeSystem, Function<Type, Type>) - Method in enum net.hydromatic.morel.type.PrimitiveType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.RecordType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.TupleType
 
copy(TypeSystem, Function<Type, Type>) - Method in interface net.hydromatic.morel.type.Type
Copies this type, applying a given transform to component types, and returning the original type if the component types are unchanged.
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
copy(TypeSystem, Function<Type, Type>) - Method in class net.hydromatic.morel.type.TypeVar
 
copyOf(Map<String, Object>) - Static method in class net.hydromatic.morel.eval.EvalEnvs
Creates an evaluation environment with the given (name, value) map.
createEnvironment(TypeSystem, Map<String, ForeignValue>) - Static method in class net.hydromatic.morel.compile.Compiles
Creates an environment containing the given foreign values.

D

DATA_TYPE - net.hydromatic.morel.ast.Op
 
dataType(String, List<TypeVar>, Map<String, Type>) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a data type.
DataType - Class in net.hydromatic.morel.type
Algebraic type.
DATATYPE_BIND - net.hydromatic.morel.ast.Op
 
DATATYPE_DECL - net.hydromatic.morel.ast.Op
 
datatypeBind(Pos, Ast.Id, Iterable<Ast.TyVar>, Iterable<Ast.TyCon>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
datatypeDecl(Pos, Iterable<Ast.DatatypeBind>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
decls - Variable in class net.hydromatic.morel.ast.Ast.LetExp
 
deduceType(Environment, Ast.Decl, TypeSystem) - Static method in class net.hydromatic.morel.compile.TypeResolver
Deduces the type of a declaration.
delete() - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
description() - Method in enum net.hydromatic.morel.type.DummyType
 
description() - Method in enum net.hydromatic.morel.type.PrimitiveType
 
description() - Method in interface net.hydromatic.morel.type.Type
Description of the type, e.g.
description() - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
description() - Method in class net.hydromatic.morel.type.TypeVar
 
div(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
div(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "div".
DIV - net.hydromatic.morel.ast.Op
 
divide(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
divide(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "/".
DIVIDE - net.hydromatic.morel.ast.Op
 
DummyType - Enum in net.hydromatic.morel.type
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.

E

e - Variable in class net.hydromatic.morel.ast.Ast.AnnotatedExp
 
e - Variable in class net.hydromatic.morel.ast.Ast.Case
 
e - Variable in class net.hydromatic.morel.ast.Ast.FunMatch
 
e - Variable in class net.hydromatic.morel.ast.Ast.LetExp
 
e - Variable in class net.hydromatic.morel.ast.Ast.Match
 
e - Variable in class net.hydromatic.morel.ast.Ast.ValBind
 
e - Variable in class net.hydromatic.morel.util.Ord
 
elementType - Variable in class net.hydromatic.morel.type.ListType
 
ellipsis - Variable in class net.hydromatic.morel.ast.Ast.RecordPat
 
empty() - Static method in class net.hydromatic.morel.compile.Environments
Creates an empty environment.
emptyEnv() - Static method in class net.hydromatic.morel.eval.Codes
Creates an empty evaluation environment.
emptyEnvWith(Environment) - Static method in class net.hydromatic.morel.eval.Codes
Creates an evaluation environment that contains the bound values from a compilation environment.
endColumn - Variable in class net.hydromatic.morel.ast.Pos
 
endLine - Variable in class net.hydromatic.morel.ast.Pos
 
ensureClosed(Type) - Method in class net.hydromatic.morel.type.TypeSystem
Converts a type into a ForallType if it has free type variables.
env(TypeSystem, Environment) - Static method in class net.hydromatic.morel.eval.Codes
Creates a compilation environment.
Environment - Class in net.hydromatic.morel.compile
Environment for validation/compilation.
Environment() - Constructor for class net.hydromatic.morel.compile.Environment
 
Environments - Class in net.hydromatic.morel.compile
Helpers for Environment.
eq(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "=".
EQ - net.hydromatic.morel.ast.Op
 
equal(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.AnnotatedExp
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.DatatypeBind
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.DatatypeDecl
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.FunDecl
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.Id
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.Literal
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.LiteralPat
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.NamedType
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.RecordSelector
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.RecordType
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.TyVar
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.ValDecl
 
equals(Object) - Method in class net.hydromatic.morel.ast.Ast.WildcardPat
 
equals(Object) - Method in class net.hydromatic.morel.ast.Pos
 
equals(Object) - Method in class net.hydromatic.morel.util.ConsList
 
equals(Object) - Method in class net.hydromatic.morel.util.Pair
 
equals(Object) - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
equals(Object) - Method in class net.hydromatic.morel.util.Unifier.Substitution
 
eval(Environment, List<String>, List<Binding>) - Method in interface net.hydromatic.morel.compile.CompiledStatement
Evaluates this statement, adding lines of feedback to output and writing bindings (values to variables, and types definitions) to bindings.
eval(EvalEnv) - Method in interface net.hydromatic.morel.eval.Code
 
eval(EvalEnv) - Method in class net.hydromatic.morel.eval.Codes.TupleCode
 
EvalEnv - Interface in net.hydromatic.morel.eval
Evaluation environment.
EvalEnvs - Class in net.hydromatic.morel.eval
Helpers for EvalEnv.
expand(Environment) - Method in interface net.hydromatic.morel.compile.Macro
 

F

failure(String) - Method in class net.hydromatic.morel.util.Unifier
 
Failure() - Constructor for class net.hydromatic.morel.util.Unifier.Failure
 
FALSE - net.hydromatic.morel.compile.BuiltIn
Literal "false", of type "bool".
fieldTypes - Variable in class net.hydromatic.morel.ast.Ast.RecordType
 
filterExp - Variable in class net.hydromatic.morel.ast.Ast.From
 
firstAnd(Iterable<T>) - Static method in class net.hydromatic.morel.util.Pair
Returns an iterator that iterates over (0, i) pairs in an iterable for i > 0.
fn - Variable in class net.hydromatic.morel.ast.Ast.Apply
 
fn(Pos, Iterable<? extends Ast.Match>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
fn(Pos, Ast.Match...) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
FN - net.hydromatic.morel.ast.Op
 
fnType(Type, Type) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a function type.
fnType(Type, Type, Type, Type...) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a multi-step function type.
FnType - Class in net.hydromatic.morel.type
The type of a function value.
foldCons(List<Ast.Exp>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
foldFunctionType(List<Ast.Type>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
FORALL_TYPE - net.hydromatic.morel.ast.Op
 
forallType(int, Function<TypeSystem.ForallHelper, Type>) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a "forall" type.
forallType(Iterable<TypeVar>, Type) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a "forall" type.
ForallType - Class in net.hydromatic.morel.type
Universally quantified type.
forEach(Iterable<E>, ObjIntConsumer<E>) - Static method in class net.hydromatic.morel.util.Ord
Performs the given action for each element of the Iterable.
forEach(Iterable<K>, Iterable<V>, BiConsumer<K, V>) - Static method in class net.hydromatic.morel.util.Pair
Calls a consumer for each pair of items in two iterables.
forEach(Map<K, V>, Ord.IntObjObjConsumer<K, V>) - Static method in class net.hydromatic.morel.util.Ord
Performs the given action for each entry of a Map.
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.Exp
 
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.InfixCall
 
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.List
 
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.PrefixCall
 
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.Record
 
forEachArg(ObjIntConsumer<Ast.Exp>) - Method in class net.hydromatic.morel.ast.Ast.Tuple
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.AnnotatedPat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.ConPat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.InfixPat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.ListPat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.Pat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.RecordPat
 
forEachArg(ObjIntConsumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.TuplePat
 
forEachIndexed(Iterable<? extends Map.Entry<K, V>>, Pair.PairWithOrdinalConsumer<K, V>) - Static method in class net.hydromatic.morel.util.Pair
Calls a consumer with an ordinal for each pair of items in an iterable of pairs.
forEachIndexed(Iterable<K>, Iterable<V>, Pair.PairWithOrdinalConsumer<K, V>) - Static method in class net.hydromatic.morel.util.Pair
Calls a consumer with an ordinal for each pair of items in two iterables.
forEachIndexed(Map<K, V>, Pair.PairWithOrdinalConsumer<K, V>) - Static method in class net.hydromatic.morel.util.Pair
Calls a consumer for each entry in a map.
forEachType(BiConsumer<String, Type>) - Method in class net.hydromatic.morel.compile.Environment
Calls a consumer for each variable and its type.
forEachType(TypeSystem, BiConsumer<String, Type>) - Static method in enum net.hydromatic.morel.compile.BuiltIn
Calls a consumer once per value.
forEachValue(BiConsumer<String, Object>) - Method in class net.hydromatic.morel.compile.Environment
Calls a consumer for each variable and its value.
ForeignValue - Interface in net.hydromatic.morel.foreign
External value.
from(Map<Ast.Id, Code>, Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
 
from(Pos, Map<Ast.Id, Ast.Exp>, Ast.Exp, Ast.Exp, List<Pair<Ast.Exp, Ast.Id>>, List<Ast.Aggregate>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
FROM - net.hydromatic.morel.ast.Op
 
fromGroup(Map<Ast.Id, Code>, Code, List<Code>, List<Applicable>, List<String>) - Static method in class net.hydromatic.morel.eval.Codes
 
FUN_BIND - net.hydromatic.morel.ast.Op
 
FUN_DECL - net.hydromatic.morel.ast.Op
 
FUN_MATCH - net.hydromatic.morel.ast.Op
 
funBind(Pos, Iterable<? extends Ast.FunMatch>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
funBinds - Variable in class net.hydromatic.morel.ast.Ast.FunDecl
 
FUNCTION_TYPE - net.hydromatic.morel.ast.Op
 
functionType(Pos, Ast.Type, Ast.Type) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
funDecl(Pos, Iterable<? extends Ast.FunBind>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
funMatch(Pos, String, Iterable<? extends Ast.Pat>, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 

G

ge(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates ">=".
GE - net.hydromatic.morel.ast.Op
 
get(int) - Method in class net.hydromatic.morel.eval.Unit
 
get(int) - Method in class net.hydromatic.morel.foreign.RelList
 
get(int) - Method in interface net.hydromatic.morel.type.TypeSystem.ForallHelper
 
get(int) - Method in class net.hydromatic.morel.util.ConsList
 
get(int) - Method in class net.hydromatic.morel.util.MapList
 
get(int) - Method in class net.hydromatic.morel.util.TailList
 
get(String) - Method in class net.hydromatic.morel.compile.Environment
Returns the binding of name; throws if not.
get(String) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that returns the value of variable "name" in the current environment.
getKey() - Method in class net.hydromatic.morel.util.Ord
 
getKey() - Method in class net.hydromatic.morel.util.Pair
 
getOpt(String) - Method in class net.hydromatic.morel.compile.Environment
Returns the binding of name if bound, null if not.
getOpt(String) - Method in interface net.hydromatic.morel.eval.EvalEnv
Returns the binding of name if bound, null if not.
getType() - Method in interface net.hydromatic.morel.compile.CompiledStatement
 
getType(AstNode) - Method in class net.hydromatic.morel.compile.TypeResolver.TypeMap
Returns a type of an AST node.
getValue() - Method in class net.hydromatic.morel.util.Ord
 
getValue() - Method in class net.hydromatic.morel.util.Pair
 
getValueMap() - Method in class net.hydromatic.morel.compile.Environment
Returns a map of the values and bindings.
greaterThan(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
greaterThanOrEqual(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
groupExps - Variable in class net.hydromatic.morel.ast.Ast.From
 
gt(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates ">".
GT - net.hydromatic.morel.ast.Op
 

H

hashCode() - Method in class net.hydromatic.morel.ast.Ast.AnnotatedExp
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.DatatypeBind
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.DatatypeDecl
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.FunDecl
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.Id
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.Literal
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.LiteralPat
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.NamedType
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.RecordSelector
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.RecordType
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.TyVar
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.ValDecl
 
hashCode() - Method in class net.hydromatic.morel.ast.Ast.WildcardPat
 
hashCode() - Method in class net.hydromatic.morel.ast.Pos
 
hashCode() - Method in class net.hydromatic.morel.util.ConsList
 
hashCode() - Method in class net.hydromatic.morel.util.Pair
hashCode() - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
hashCode() - Method in class net.hydromatic.morel.util.Unifier.Substitution
 
hasType(AstNode) - Method in class net.hydromatic.morel.compile.TypeResolver.TypeMap
Returns whether an AST node has a type.

I

i - Variable in class net.hydromatic.morel.util.Ord
 
id - Variable in class net.hydromatic.morel.ast.Ast.Aggregate
 
id - Variable in class net.hydromatic.morel.ast.Ast.TyCon
 
id(Pos, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
ID - net.hydromatic.morel.ast.Op
 
ID_PAT - net.hydromatic.morel.ast.Op
 
idPat(Pos, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
If(Pos, Ast.Exp, Ast.Exp, Ast.Exp) - Constructor for class net.hydromatic.morel.ast.Ast.If
 
IF - net.hydromatic.morel.ast.Op
 
ifFalse - Variable in class net.hydromatic.morel.ast.Ast.If
 
ifThenElse(Pos, Ast.Exp, Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
ifThenElse(Code, Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
 
ifTrue - Variable in class net.hydromatic.morel.ast.Ast.If
 
IGNORE - net.hydromatic.morel.compile.BuiltIn
Function "ignore", of type "α → unit".
implicitLabel(Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
indexOf(Object) - Method in class net.hydromatic.morel.util.ConsList
 
infix(int, AstNode, Op, AstNode, int) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a call to an infix operator.
infixCall(Pos, Op, Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
infixPat(Pos, Op, Ast.Pat, Ast.Pat) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
INSTANCE - net.hydromatic.morel.type.DummyType
 
INSTANCE - Static variable in class net.hydromatic.morel.eval.Unit
 
INT - net.hydromatic.morel.type.PrimitiveType
 
INT_LITERAL - net.hydromatic.morel.ast.Op
 
INT_LITERAL_PAT - net.hydromatic.morel.ast.Op
 
intLiteral(BigDecimal, Pos) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates an int literal.
isConstant() - Method in interface net.hydromatic.morel.eval.Code
 
iterator() - Method in class net.hydromatic.morel.util.ConsList
 

L

lastIndexOf(Object) - Method in class net.hydromatic.morel.util.ConsList
 
le(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "<=".
LE - net.hydromatic.morel.ast.Op
 
left - Variable in enum net.hydromatic.morel.ast.Op
Left precedence
left - Variable in class net.hydromatic.morel.util.Pair
 
left(Iterable<? extends Map.Entry<L, R>>) - Static method in class net.hydromatic.morel.util.Pair
Returns an iterable over the left slice of an iterable.
left(List<? extends Map.Entry<K, V>>) - Static method in class net.hydromatic.morel.util.Pair
 
lessThan(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
lessThanOrEqual(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
let(List<Code>, Code) - Static method in class net.hydromatic.morel.eval.Codes
 
let(Pos, Iterable<? extends Ast.Decl>, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
LET - net.hydromatic.morel.ast.Op
 
list(int) - Method in interface net.hydromatic.morel.type.TypeSystem.ForallHelper
 
list(Iterable<? extends Code>) - Static method in class net.hydromatic.morel.eval.Codes
 
list(Pos, Iterable<? extends Ast.Exp>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
LIST - net.hydromatic.morel.ast.Op
 
LIST_ALL - net.hydromatic.morel.compile.BuiltIn
Function "List.all", of type "(α → bool) → α list → bool".
LIST_APP - net.hydromatic.morel.compile.BuiltIn
Function "List.app", of type "(α → unit) → α list → unit".
LIST_AT - net.hydromatic.morel.compile.BuiltIn
Function "List.at", of type "α list * α list → α list".
LIST_COLLATE - net.hydromatic.morel.compile.BuiltIn
Function "List.collate", of type "(α * α → order) → α list * α list → order".
LIST_CONCAT - net.hydromatic.morel.compile.BuiltIn
Function "List.concat", of type "α list list → α list".
LIST_DROP - net.hydromatic.morel.compile.BuiltIn
Function "List.drop", of type "α list * int → α list".
LIST_EXISTS - net.hydromatic.morel.compile.BuiltIn
Function "List.exists", of type "(α → bool) → α list → bool".
LIST_FILTER - net.hydromatic.morel.compile.BuiltIn
Function "List.filter", of type "(α → bool) → α list → α list".
LIST_FIND - net.hydromatic.morel.compile.BuiltIn
Function "List.find", of type "(α → bool) → α list → α option".
LIST_FOLDL - net.hydromatic.morel.compile.BuiltIn
Function "List.foldl", of type "(α * β → β) → β → α list → β".
LIST_FOLDR - net.hydromatic.morel.compile.BuiltIn
Function "List.foldr", of type "(α * β → β) → β → α list → β".
LIST_GET_ITEM - net.hydromatic.morel.compile.BuiltIn
Function "List.getItem", of type "α list → (α * α list) option".
LIST_HD - net.hydromatic.morel.compile.BuiltIn
Function "List.hd", of type "α list → α".
LIST_LAST - net.hydromatic.morel.compile.BuiltIn
Function "List.last", of type "α list → α".
LIST_LENGTH - net.hydromatic.morel.compile.BuiltIn
Function "List.length", of type "α list → int".
LIST_MAP - net.hydromatic.morel.compile.BuiltIn
Function "List.map", of type "(α → β) → α list → β list".
LIST_MAP_PARTIAL - net.hydromatic.morel.compile.BuiltIn
Function "List.mapPartial", of type "(α → β option) → α list → β list".
LIST_NIL - net.hydromatic.morel.compile.BuiltIn
Constant "List.nil", of type "α list".
LIST_NTH - net.hydromatic.morel.compile.BuiltIn
Function "List.nth", of type "α list * int → α".
LIST_NULL - net.hydromatic.morel.compile.BuiltIn
Function "List.null", of type "α list → bool".
LIST_PARTITION - net.hydromatic.morel.compile.BuiltIn
Function "List.partition", of type "(α → bool) → α list → α list * α list".
LIST_PAT - net.hydromatic.morel.ast.Op
 
LIST_REV - net.hydromatic.morel.compile.BuiltIn
Function "List.rev", of type "α list → α list".
LIST_REV_APPEND - net.hydromatic.morel.compile.BuiltIn
Function "List.revAppend", of type "α list * α list → α list".
LIST_TABULATE - net.hydromatic.morel.compile.BuiltIn
Function "List.tabulate", of type "int * (int → α) → α list".
LIST_TAKE - net.hydromatic.morel.compile.BuiltIn
Function "List.take", of type "α list * int → α list".
LIST_TL - net.hydromatic.morel.compile.BuiltIn
Function "List.tl", of type "α list → α list".
listIterator() - Method in class net.hydromatic.morel.util.ConsList
 
listIterator(int) - Method in class net.hydromatic.morel.util.ConsList
 
listPat(Pos, Iterable<? extends Ast.Pat>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
listPat(Pos, Ast.Pat...) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
listType(Type) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a list type.
ListType - Class in net.hydromatic.morel.type
The type of a list value.
literalPat(Pos, Op, Comparable) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
lookup(String) - Method in class net.hydromatic.morel.type.TypeSystem
Looks up a type by name.
lookupOpt(String) - Method in class net.hydromatic.morel.type.TypeSystem
Looks up a type by name, returning null if not found.
lookupTyCon(String) - Method in class net.hydromatic.morel.type.TypeSystem
 
lt(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "<".
LT - net.hydromatic.morel.ast.Op
 

M

Macro - Interface in net.hydromatic.morel.compile
A function that is 'called' at compile time, and generates an expanded parse tree.
main(String[]) - Static method in class net.hydromatic.morel.Main
Command-line entry point.
main(String[]) - Static method in class net.hydromatic.morel.Shell
Command-line entry point.
Main - Class in net.hydromatic.morel
Standard ML REPL.
Main(String[], InputStream, PrintStream, Map<String, ForeignValue>) - Constructor for class net.hydromatic.morel.Main
Creates a Main.
Main(String[], Reader, Writer, Map<String, ForeignValue>) - Constructor for class net.hydromatic.morel.Main
Creates a Main.
map(Pos, Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
MAP - net.hydromatic.morel.ast.Op
 
MapList<E> - Class in net.hydromatic.morel.util
Read-only list that generates elements between 0 and size - 1 by applying a function.
MartelliUnifier - Class in net.hydromatic.morel.util
Unification algorithm due to Martelli, Montanari (1976) and Paterson, Wegman (1978).
MartelliUnifier() - Constructor for class net.hydromatic.morel.util.MartelliUnifier
 
match(Pos, Ast.Pat, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
MATCH - net.hydromatic.morel.ast.Op
 
matchList - Variable in class net.hydromatic.morel.ast.Ast.Case
 
matchList - Variable in class net.hydromatic.morel.ast.Ast.Fn
 
matchList - Variable in class net.hydromatic.morel.ast.Ast.FunBind
 
minus(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
minus(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "-".
MINUS - net.hydromatic.morel.ast.Op
 
mlName - Variable in enum net.hydromatic.morel.compile.BuiltIn
The name as it appears in ML's symbol table.
mod(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
mod(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "mod".
MOD - net.hydromatic.morel.ast.Op
 
MutableEvalEnv - Interface in net.hydromatic.morel.eval
An evaluation environment whose last entry is mutable.

N

name - Variable in class net.hydromatic.morel.ast.Ast.DatatypeBind
 
name - Variable in class net.hydromatic.morel.ast.Ast.FunBind
 
name - Variable in class net.hydromatic.morel.ast.Ast.FunMatch
 
name - Variable in class net.hydromatic.morel.ast.Ast.Id
 
name - Variable in class net.hydromatic.morel.ast.Ast.IdPat
 
name - Variable in class net.hydromatic.morel.ast.Ast.NamedType
 
name - Variable in class net.hydromatic.morel.ast.Ast.RecordSelector
 
name - Variable in class net.hydromatic.morel.ast.Ast.TyVar
 
name - Variable in class net.hydromatic.morel.type.Binding
 
name - Variable in class net.hydromatic.morel.type.DataType
 
name() - Method in class net.hydromatic.morel.type.DataType
 
name() - Method in interface net.hydromatic.morel.type.NamedType
Name of the type.
name() - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
NAMED_TYPE - net.hydromatic.morel.ast.Op
 
namedType(Pos, Iterable<? extends Ast.Type>, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
NamedType - Interface in net.hydromatic.morel.type
Type that has a name.
ne(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "<>".
NE - net.hydromatic.morel.ast.Op
 
negate(Pos, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
negate(Code) - Static method in class net.hydromatic.morel.eval.Codes
 
NEGATE - net.hydromatic.morel.ast.Op
 
net.hydromatic.morel - package net.hydromatic.morel
Standard ML interpreter, implemented in Java.
net.hydromatic.morel.ast - package net.hydromatic.morel.ast
Abstract syntax tree.
net.hydromatic.morel.compile - package net.hydromatic.morel.compile
Validates programs (represented as AstNode), deduces their type, and compiles them into code that can be evaluated.
net.hydromatic.morel.eval - package net.hydromatic.morel.eval
Evaluates expressions.
net.hydromatic.morel.foreign - package net.hydromatic.morel.foreign
Provides access to external data sources.
net.hydromatic.morel.type - package net.hydromatic.morel.type
Type system.
net.hydromatic.morel.util - package net.hydromatic.morel.util
Utilities.
node - Variable in class net.hydromatic.morel.compile.TypeResolver.Resolved
 
NOT - net.hydromatic.morel.compile.BuiltIn
Function "not", of type "bool → bool".
notEqual(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
nth(int) - Static method in class net.hydromatic.morel.eval.Codes
Returns an applicable that returns the slotth field of a tuple or record.

O

occurs() - Method in class net.hydromatic.morel.util.Unifier
Whether this unifier checks for cycles in substitutions.
of(int, E) - Static method in class net.hydromatic.morel.util.Ord
Creates an Ord.
of(int, IntFunction<E>) - Static method in class net.hydromatic.morel.util.MapList
Creates a MapList.
of(E, List<? extends E>) - Static method in class net.hydromatic.morel.util.ConsList
Creates a ConsList.
of(Map.Entry<K, V>) - Static method in class net.hydromatic.morel.util.Pair
Creates a Pair from a Map.Entry.
of(T1, T2) - Static method in class net.hydromatic.morel.util.Pair
Creates a Pair of appropriate type.
op - Variable in class net.hydromatic.morel.ast.AstNode
 
op() - Method in enum net.hydromatic.morel.type.DummyType
 
op() - Method in enum net.hydromatic.morel.type.PrimitiveType
 
op() - Method in interface net.hydromatic.morel.type.Type
Type operator.
op() - Method in class net.hydromatic.morel.type.TypeSystem.TemporaryType
 
op() - Method in class net.hydromatic.morel.type.TypeVar
 
Op - Enum in net.hydromatic.morel.ast
Sub-types of AstNode.
operator - Variable in class net.hydromatic.morel.util.Unifier.Sequence
 
Ord<E> - Class in net.hydromatic.morel.util
Pair of an element and an ordinal.
Ord.IntObjObjConsumer<K,​V> - Interface in net.hydromatic.morel.util
Consumer that receives an ordinal, a key, and a value.
ORDERING - Static variable in class net.hydromatic.morel.type.RecordType
Ordering that compares integer values numerically, string values lexicographically, and integer values before string values.
orElse(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
orElse(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "orelse".
ORELSE - net.hydromatic.morel.ast.Op
 
originalNode - Variable in class net.hydromatic.morel.compile.TypeResolver.Resolved
 

P

p0 - Variable in class net.hydromatic.morel.ast.Ast.InfixPat
 
p1 - Variable in class net.hydromatic.morel.ast.Ast.InfixPat
 
padded - Variable in enum net.hydromatic.morel.ast.Op
Padded name, e.g.
Pair<T1,​T2> - Class in net.hydromatic.morel.util
Pair of objects.
Pair(T1, T2) - Constructor for class net.hydromatic.morel.util.Pair
Creates a Pair.
Pair.PairWithOrdinalConsumer<K,​V> - Interface in net.hydromatic.morel.util
Represents an operation that accepts two input arguments and an ordinal, and returns no result.
paramType - Variable in class net.hydromatic.morel.ast.Ast.FunctionType
 
paramType - Variable in class net.hydromatic.morel.type.FnType
 
pat - Variable in class net.hydromatic.morel.ast.Ast.AnnotatedPat
 
pat - Variable in class net.hydromatic.morel.ast.Ast.ConPat
 
pat - Variable in class net.hydromatic.morel.ast.Ast.Match
 
pat - Variable in class net.hydromatic.morel.ast.Ast.ValBind
 
patList - Variable in class net.hydromatic.morel.ast.Ast.FunMatch
 
pause() - Method in class net.hydromatic.morel.Shell
Pauses after creating the terminal.
plus(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
plus(Pos) - Method in class net.hydromatic.morel.ast.Pos
 
plus(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "+".
PLUS - net.hydromatic.morel.ast.Op
 
plusAll(Iterable<Pos>) - Method in class net.hydromatic.morel.ast.Pos
 
plusAll(List<? extends AstNode>) - Method in class net.hydromatic.morel.ast.Pos
 
pos - Variable in class net.hydromatic.morel.ast.AstNode
 
Pos - Class in net.hydromatic.morel.ast
Position of a parse-tree node.
Pos(int, int, int, int) - Constructor for class net.hydromatic.morel.ast.Pos
Creates a Pos.
predicate(int) - Method in interface net.hydromatic.morel.type.TypeSystem.ForallHelper
 
prefix(int, Op, AstNode, int) - Method in class net.hydromatic.morel.ast.AstWriter
Appends a call to an prefix operator.
prefixCall(Pos, Op, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a call to a prefix operator.
prepareStatement(TypeSystem, Environment, AstNode) - Static method in class net.hydromatic.morel.compile.Compiles
Validates and compiles a statement (expression or declaration), and compiles it to code that can be evaluated by the interpreter.
PrimitiveType - Enum in net.hydromatic.morel.type
Primitive type.

R

REAL - net.hydromatic.morel.type.PrimitiveType
 
REAL_LITERAL - net.hydromatic.morel.ast.Op
 
REAL_LITERAL_PAT - net.hydromatic.morel.ast.Op
 
realLiteral(BigDecimal, Pos) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a float literal.
rec - Variable in class net.hydromatic.morel.ast.Ast.ValBind
 
record(Pos, Map<String, Ast.Exp>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
RECORD - net.hydromatic.morel.ast.Op
 
RECORD_PAT - net.hydromatic.morel.ast.Op
 
RECORD_SELECTOR - net.hydromatic.morel.ast.Op
 
RECORD_TYPE - net.hydromatic.morel.ast.Op
 
recordPat(Pos, boolean, Map<String, ? extends Ast.Pat>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
recordSelector(Pos, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
recordType(SortedMap<String, ? extends Type>) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a record type.
recordType(Pos, Map<String, Ast.Type>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
RecordType - Class in net.hydromatic.morel.type
The type of a record value.
RELATIONAL_COUNT - net.hydromatic.morel.compile.BuiltIn
Function "Relational.count", aka "count", of type "int list → int".
RELATIONAL_SUM - net.hydromatic.morel.compile.BuiltIn
Function "Relational.sum", aka "sum", of type "int list → int".
RelList - Class in net.hydromatic.morel.foreign
A list whose contents are computed by evaluating a relational expression.
remove(int) - Method in class net.hydromatic.morel.util.TailList
 
resolve() - Method in class net.hydromatic.morel.util.Unifier.Substitution
 
resultMap - Variable in class net.hydromatic.morel.util.Unifier.Substitution
The result of the unification algorithm proper.
resultType - Variable in class net.hydromatic.morel.ast.Ast.FunctionType
 
resultType - Variable in class net.hydromatic.morel.type.FnType
 
reverse(E...) - Static method in class net.hydromatic.morel.util.Ord
Iterates over an array in reverse order.
reverse(Iterable<? extends E>) - Static method in class net.hydromatic.morel.util.Ord
Iterates over a list in reverse order.
right - Variable in enum net.hydromatic.morel.ast.Op
Right precedence
right - Variable in class net.hydromatic.morel.util.Pair
 
right(Iterable<? extends Map.Entry<L, R>>) - Static method in class net.hydromatic.morel.util.Pair
Returns an iterable over the right slice of an iterable.
right(List<? extends Map.Entry<K, V>>) - Static method in class net.hydromatic.morel.util.Pair
 
RobinsonUnifier - Class in net.hydromatic.morel.util
Robinson's unification algorithm.
RobinsonUnifier() - Constructor for class net.hydromatic.morel.util.RobinsonUnifier
 
run() - Method in class net.hydromatic.morel.Main
 
run() - Method in class net.hydromatic.morel.Shell
 

S

set(int, E) - Method in class net.hydromatic.morel.util.TailList
 
set(Object) - Method in interface net.hydromatic.morel.eval.MutableEvalEnv
 
setValue(E) - Method in class net.hydromatic.morel.util.Ord
 
setValue(T2) - Method in class net.hydromatic.morel.util.Pair
 
Shell - Class in net.hydromatic.morel
Command shell for ML, powered by JLine3.
Shell(List<String>, InputStream, OutputStream) - Constructor for class net.hydromatic.morel.Shell
Creates a Shell.
Shuttle - Class in net.hydromatic.morel.ast
Visits and transforms syntax trees.
Shuttle() - Constructor for class net.hydromatic.morel.ast.Shuttle
 
size() - Method in class net.hydromatic.morel.eval.Unit
 
size() - Method in class net.hydromatic.morel.foreign.RelList
 
size() - Method in class net.hydromatic.morel.util.ConsList
 
size() - Method in class net.hydromatic.morel.util.MapList
 
size() - Method in class net.hydromatic.morel.util.TailList
 
slot - Variable in class net.hydromatic.morel.ast.Ast.RecordSelector
Set during validation, after the type of the argument has been deduced, contains the ordinal of the field in the record or tuple that is to be accessed.
sources - Variable in class net.hydromatic.morel.ast.Ast.From
 
startColumn - Variable in class net.hydromatic.morel.ast.Pos
 
startLine - Variable in class net.hydromatic.morel.ast.Pos
 
Static - Class in net.hydromatic.morel.util
Utilities.
STRING - net.hydromatic.morel.type.PrimitiveType
 
STRING_CONCAT - net.hydromatic.morel.compile.BuiltIn
Function "String.concat", of type "string list → string".
STRING_CONCAT_WITH - net.hydromatic.morel.compile.BuiltIn
Function "String.concatWith", of type "string → string list → string".
STRING_EXPLODE - net.hydromatic.morel.compile.BuiltIn
Function "String.explode", of type "string → char list".
STRING_EXTRACT - net.hydromatic.morel.compile.BuiltIn
Function "String.extract", of type "string * int * int option → string".
STRING_IMPLODE - net.hydromatic.morel.compile.BuiltIn
Function "String.implode", of type "char list → string".
STRING_IS_PREFIX - net.hydromatic.morel.compile.BuiltIn
Function "String.isPrefix", of type "string → string → bool".
STRING_IS_SUBSTRING - net.hydromatic.morel.compile.BuiltIn
Function "String.isSubstring", of type "string → string → bool".
STRING_IS_SUFFIX - net.hydromatic.morel.compile.BuiltIn
Function "String.isSuffix", of type "string → string → bool".
STRING_LITERAL - net.hydromatic.morel.ast.Op
 
STRING_LITERAL_PAT - net.hydromatic.morel.ast.Op
 
STRING_MAP - net.hydromatic.morel.compile.BuiltIn
Function "String.map", of type "(char → char) → string → string".
STRING_MAX_SIZE - net.hydromatic.morel.compile.BuiltIn
Constant "String.maxSize", of type "int".
STRING_SIZE - net.hydromatic.morel.compile.BuiltIn
Function "String.size", of type "string → int".
STRING_STR - net.hydromatic.morel.compile.BuiltIn
Function "String.str", of type "char → string".
STRING_SUB - net.hydromatic.morel.compile.BuiltIn
Function "String.sub", of type "string * int → char".
STRING_SUBSTRING - net.hydromatic.morel.compile.BuiltIn
Function "String.substring", of type "string * int * int → string".
STRING_TRANSLATE - net.hydromatic.morel.compile.BuiltIn
Function "String.translate", of type "(char → string) → string → string".
stringLiteral(Pos, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a string literal.
substitution(Unifier.Term...) - Method in class net.hydromatic.morel.util.Unifier
Creates a substitution.
sum(Iterable<E>, Function<E, Pos>) - Static method in class net.hydromatic.morel.ast.Pos
 
sum(Iterable<Pos>) - Static method in class net.hydromatic.morel.ast.Pos
Combines an iterable of parser positions to create a position which spans from the beginning of the first to the end of the last.
sum(List<? extends AstNode>) - Static method in class net.hydromatic.morel.ast.Pos
 
SYS_ENV - net.hydromatic.morel.compile.BuiltIn
Function "Sys.env", aka "env", of type "unit → string list".

T

TailList<E> - Class in net.hydromatic.morel.util
A dynamic list that reads from a given point in a backing list.
TailList(List<E>) - Constructor for class net.hydromatic.morel.util.TailList
Creates a list whose start is the current size of the backing list.
TailList(List<E>, int) - Constructor for class net.hydromatic.morel.util.TailList
Creates a list that reads elements from a given backing list after a given start point.
TEMPORARY_DATA_TYPE - net.hydromatic.morel.ast.Op
Used internally, while resolving a self-referential DATA_TYPE.
temporaryType(String) - Method in class net.hydromatic.morel.type.TypeSystem
 
terms - Variable in class net.hydromatic.morel.util.Unifier.Sequence
 
TermTerm(Unifier.Term, Unifier.Term) - Constructor for class net.hydromatic.morel.util.Unifier.TermTerm
 
times(Ast.Exp, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
times(Code, Code) - Static method in class net.hydromatic.morel.eval.Codes
Returns a Code that evaluates "*".
TIMES - net.hydromatic.morel.ast.Op
 
toArray() - Method in class net.hydromatic.morel.util.ConsList
 
toArray(T[]) - Method in class net.hydromatic.morel.util.ConsList
 
toExp(Ast.ValDecl) - Static method in class net.hydromatic.morel.compile.Compiles
Converts val = e to e; the converse of Compiles.toValDecl(Ast.Exp).
toImmutableList() - Static method in class net.hydromatic.morel.util.Static
Returns a Collector that accumulates the input elements into a Guava ImmutableList via a ImmutableList.Builder.
toList() - Method in class net.hydromatic.morel.util.ConsList
 
toMap(Iterable<Pair<K, V>>) - Static method in class net.hydromatic.morel.util.Pair
Converts a collection of Pairs into a Map.
toPat() - Method in enum net.hydromatic.morel.ast.Op
Converts the op of a literal or tuple expression to the corresponding op of a pattern.
toString() - Method in class net.hydromatic.morel.ast.AstNode
Converts this node into an ML string.
toString() - Method in class net.hydromatic.morel.ast.AstWriter
toString() - Method in class net.hydromatic.morel.ast.Pos
 
toString() - Method in class net.hydromatic.morel.compile.Environment
 
toString() - Method in class net.hydromatic.morel.eval.Closure
 
toString() - Method in class net.hydromatic.morel.eval.Unit
 
toString() - Method in class net.hydromatic.morel.type.Binding
 
toString() - Method in class net.hydromatic.morel.type.TypeVar
Returns a string for debugging; see also TypeVar.description().
toString() - Method in class net.hydromatic.morel.util.ConsList
 
toString() - Method in class net.hydromatic.morel.util.Pair
 
toString() - Method in class net.hydromatic.morel.util.Unifier.Sequence
 
toString() - Method in class net.hydromatic.morel.util.Unifier.Substitution
 
toString() - Method in class net.hydromatic.morel.util.Unifier.TermTerm
 
toString() - Method in class net.hydromatic.morel.util.Unifier.Variable
 
toString(AstNode) - Static method in class net.hydromatic.morel.ast.Ast
 
toValDecl(Ast.Exp) - Static method in class net.hydromatic.morel.compile.Compiles
Converts e to val = e.
TRUE - net.hydromatic.morel.compile.BuiltIn
Literal "true", of type "bool".
tuple(Iterable<? extends Code>) - Static method in class net.hydromatic.morel.eval.Codes
 
tuple(Pos, Iterable<? extends Ast.Exp>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
TUPLE - net.hydromatic.morel.ast.Op
 
TUPLE_PAT - net.hydromatic.morel.ast.Op
 
TUPLE_TYPE - net.hydromatic.morel.ast.Op
 
tuplePat(Pos, Iterable<? extends Ast.Pat>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
tuplePat(Pos, Ast.Pat...) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
tupleType(List<? extends Type>) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a tuple type.
tupleType(Pos, Iterable<Ast.Type>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
tupleType(Type...) - Method in class net.hydromatic.morel.type.TypeSystem
Creates a tuple type from an array of types.
TupleType - Class in net.hydromatic.morel.type
The type of a tuple value.
TY_CON - net.hydromatic.morel.ast.Op
 
TY_VAR - net.hydromatic.morel.ast.Op
 
tyCon - Variable in class net.hydromatic.morel.ast.Ast.Con0Pat
 
tyCon - Variable in class net.hydromatic.morel.ast.Ast.ConPat
 
tyCon(Type, String) - Static method in class net.hydromatic.morel.eval.Codes
Returns an applicable that constructs an instance of a datatype.
tyCons - Variable in class net.hydromatic.morel.ast.Ast.DatatypeBind
 
type - Variable in class net.hydromatic.morel.ast.Ast.AnnotatedExp
 
type - Variable in class net.hydromatic.morel.ast.Ast.AnnotatedPat
 
type - Variable in class net.hydromatic.morel.ast.Ast.TyCon
 
type - Variable in class net.hydromatic.morel.type.ApplyType
 
type - Variable in class net.hydromatic.morel.type.Binding
 
type - Variable in class net.hydromatic.morel.type.ForallType
 
type(TypeSystem) - Method in class net.hydromatic.morel.foreign.CalciteForeignValue
 
type(TypeSystem) - Method in interface net.hydromatic.morel.foreign.ForeignValue
 
Type - Interface in net.hydromatic.morel.type
Type.
typeConstructor(Pos, Ast.Id, Ast.Type) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
typeConstructors - Variable in class net.hydromatic.morel.type.DataType
 
typeFunction - Variable in enum net.hydromatic.morel.compile.BuiltIn
Derives a type, in a particular type system, for this constant or function.
typeMap - Variable in class net.hydromatic.morel.compile.TypeResolver.Resolved
 
TypeResolver - Class in net.hydromatic.morel.compile
Resolves the type of an expression.
TypeResolver.Resolved - Class in net.hydromatic.morel.compile
Result of validating a declaration.
TypeResolver.TypeMap - Class in net.hydromatic.morel.compile
The result of type resolution, a map from AST nodes to types.
types - Variable in class net.hydromatic.morel.ast.Ast.CompositeType
 
types - Variable in class net.hydromatic.morel.ast.Ast.NamedType
 
types - Variable in class net.hydromatic.morel.ast.Ast.TupleType
 
types - Variable in class net.hydromatic.morel.type.ApplyType
 
TypeSystem - Class in net.hydromatic.morel.type
A table that contains all types in use, indexed by their description (e.g.
TypeSystem() - Constructor for class net.hydromatic.morel.type.TypeSystem
 
TypeSystem.ForallHelper - Interface in net.hydromatic.morel.type
Provides access to type variables from within a call to TypeSystem.forallType(int, Function).
TypeSystem.TemporaryType - Class in net.hydromatic.morel.type
Placeholder for a type that is being recursively defined.
TypeVar - Class in net.hydromatic.morel.type
Type variable (e.g.
TypeVar(int) - Constructor for class net.hydromatic.morel.type.TypeVar
Creates a type variable with a given ordinal.
typeVariable(int) - Method in class net.hydromatic.morel.type.TypeSystem
 
typeVars - Variable in class net.hydromatic.morel.type.DataType
 
typeVars - Variable in class net.hydromatic.morel.type.ForallType
 
TypeVisitor<R> - Class in net.hydromatic.morel.type
Visitor over Type objects.
TypeVisitor() - Constructor for class net.hydromatic.morel.type.TypeVisitor
 
tyVar(Pos, String) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
tyVars - Variable in class net.hydromatic.morel.ast.Ast.DatatypeBind
 

U

Unifier - Class in net.hydromatic.morel.util
Given pairs of terms, finds a substitution to minimize those pairs of terms.
Unifier() - Constructor for class net.hydromatic.morel.util.Unifier
 
Unifier.Action - Interface in net.hydromatic.morel.util
Called by the unifier when a Term's type becomes known.
Unifier.Failure - Class in net.hydromatic.morel.util
Result indicating that unification was not possible.
Unifier.Result - Interface in net.hydromatic.morel.util
Result of attempting unification.
Unifier.Sequence - Class in net.hydromatic.morel.util
A sequence of terms.
Unifier.Substitution - Class in net.hydromatic.morel.util
The results of a successful unification.
Unifier.Term - Interface in net.hydromatic.morel.util
Term (variable, symbol or node).
Unifier.TermTerm - Class in net.hydromatic.morel.util
A pair of terms.
Unifier.TermVisitor<R> - Interface in net.hydromatic.morel.util
Visitor for terms.
Unifier.Variable - Class in net.hydromatic.morel.util
A variable that represents a symbol or a sequence; unification's task is to find the substitutions for such variables.
unify(List<Unifier.TermTerm>, Map<Unifier.Variable, Unifier.Action>) - Method in class net.hydromatic.morel.util.MartelliUnifier
 
unify(List<Unifier.TermTerm>, Map<Unifier.Variable, Unifier.Action>) - Method in class net.hydromatic.morel.util.RobinsonUnifier
 
unify(List<Unifier.TermTerm>, Map<Unifier.Variable, Unifier.Action>) - Method in class net.hydromatic.morel.util.Unifier
 
unify(Unifier.Term, Unifier.Term) - Method in class net.hydromatic.morel.util.RobinsonUnifier
 
Unit - Class in net.hydromatic.morel.eval
A placeholder value for the "unit" type.
UNIT - net.hydromatic.morel.type.PrimitiveType
 
UNIT_LITERAL - net.hydromatic.morel.ast.Op
 
unitLiteral(Pos) - Method in enum net.hydromatic.morel.ast.AstBuilder
Creates a unit literal.

V

VAL_BIND - net.hydromatic.morel.ast.Op
 
VAL_DECL - net.hydromatic.morel.ast.Op
 
valBind(Pos, boolean, Ast.Pat, Ast.Exp) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
valBinds - Variable in class net.hydromatic.morel.ast.Ast.ValDecl
 
valDecl(Pos, Iterable<? extends Ast.ValBind>) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
valDecl(Pos, Ast.ValBind...) - Method in enum net.hydromatic.morel.ast.AstBuilder
 
validateExpression(Ast.Exp, Map<String, ForeignValue>) - Static method in class net.hydromatic.morel.compile.Compiles
Validates an expression, deducing its type and perhaps rewriting the expression to a form that can more easily be compiled.
value - Variable in class net.hydromatic.morel.ast.Ast.Literal
 
value - Variable in class net.hydromatic.morel.ast.Ast.LiteralPat
 
value - Variable in class net.hydromatic.morel.type.Binding
 
value() - Method in class net.hydromatic.morel.foreign.CalciteForeignValue
 
value() - Method in interface net.hydromatic.morel.foreign.ForeignValue
 
valueMap() - Method in interface net.hydromatic.morel.eval.EvalEnv
Returns a map of the values and bindings.
valueOf(String) - Static method in enum net.hydromatic.morel.ast.AstBuilder
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum net.hydromatic.morel.ast.Op
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum net.hydromatic.morel.compile.BuiltIn
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum net.hydromatic.morel.type.DummyType
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum net.hydromatic.morel.type.PrimitiveType
Returns the enum constant of this type with the specified name.
values() - Static method in enum net.hydromatic.morel.ast.AstBuilder
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum net.hydromatic.morel.ast.Op
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum net.hydromatic.morel.compile.BuiltIn
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum net.hydromatic.morel.type.DummyType
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum net.hydromatic.morel.type.PrimitiveType
Returns an array containing the constants of this enum type, in the order they are declared.
variable() - Method in class net.hydromatic.morel.util.Unifier
Creates a new variable, with a new name.
variable(String) - Method in class net.hydromatic.morel.util.Unifier
Creates a variable, or returns an existing one with the same name.
visit(BiConsumer<String, Object>) - Method in interface net.hydromatic.morel.eval.EvalEnv
Visits every variable binding in this environment.
visit(Consumer<Ast.Pat>) - Method in class net.hydromatic.morel.ast.Ast.Pat
 
visit(Ast.Aggregate) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.AnnotatedExp) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.AnnotatedPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Apply) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Case) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.CompositeType) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Con0Pat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.ConPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.DatatypeBind) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.DatatypeDecl) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Fn) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.From) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.FunBind) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.FunctionType) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.FunDecl) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.FunMatch) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Id) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.IdPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.If) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.InfixCall) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.InfixPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.LetExp) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.List) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.ListPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Literal) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.LiteralPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Match) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.NamedType) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.PrefixCall) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Record) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.RecordPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.RecordSelector) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.RecordType) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.Tuple) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.TuplePat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.TupleType) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.TyCon) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.TyVar) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.ValBind) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.ValDecl) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(Ast.WildcardPat) - Method in class net.hydromatic.morel.ast.Shuttle
 
visit(ApplyType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits an ApplyType.
visit(DataType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a DataType.
visit(FnType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a FnType.
visit(ForallType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a ForallType.
visit(ListType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a ListType.
visit(PrimitiveType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a PrimitiveType.
visit(RecordType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a RecordType.
visit(TupleType) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a TupleType.
visit(TypeVar) - Method in class net.hydromatic.morel.type.TypeVisitor
Visits a TypeVar.
visit(Unifier.Sequence) - Method in interface net.hydromatic.morel.util.Unifier.TermVisitor
 
visit(Unifier.Variable) - Method in interface net.hydromatic.morel.util.Unifier.TermVisitor
 

W

WILDCARD_PAT - net.hydromatic.morel.ast.Op
 
wildcardPat(Pos) - Method in enum net.hydromatic.morel.ast.AstBuilder
 

Y

yieldExp - Variable in class net.hydromatic.morel.ast.Ast.From
 
yieldExpOrDefault - Variable in class net.hydromatic.morel.ast.Ast.From
The expression in the yield clause, or the default yield expression if not specified; never null.

Z

ZERO - Static variable in class net.hydromatic.morel.ast.Pos
 
zip(E[]) - Static method in class net.hydromatic.morel.util.Ord
Returns a numbered list based on an array.
zip(Iterable<? extends E>) - Static method in class net.hydromatic.morel.util.Ord
Creates an iterable of Ords over an iterable.
zip(Iterable<? extends K>, Iterable<? extends V>) - Static method in class net.hydromatic.morel.util.Pair
Converts two iterables into an iterable of Pairs.
zip(Iterator<? extends E>) - Static method in class net.hydromatic.morel.util.Ord
Creates an iterator of Ords over an iterator.
zip(List<? extends E>) - Static method in class net.hydromatic.morel.util.Ord
Returns a numbered list.
zip(List<K>, List<V>) - Static method in class net.hydromatic.morel.util.Pair
Converts two lists into a list of Pairs, whose length is the lesser of the lengths of the source lists.
zip(List<K>, List<V>, boolean) - Static method in class net.hydromatic.morel.util.Pair
Converts two lists into a list of Pairs.
zip(K[], V[]) - Static method in class net.hydromatic.morel.util.Pair
Converts two arrays into a list of Pairs.
zipMutable(List<K>, List<V>) - Static method in class net.hydromatic.morel.util.Pair
Returns a mutable list of pairs backed by a pair of mutable lists.
A B C D E F G H I L M N O P R S T U V W Y Z 
All Classes All Packages