Package net.hydromatic.morel.util
package net.hydromatic.morel.util
Utilities.
-
ClassDescriptionBase class for lists whose contents are constant after creation.ComparableSingletonList<E extends Comparable<E>>A comparable singleton list.ConsList<E>List that consists of a head element and an immutable non-empty list.Folder<E>Enable creating right-deep trees.Folder.End<E>Sub-class of
Folderthat marks the end of a list.ImmutablePairList<T,U> Immutable list of pairs.Version of the JDK.MapEntry<T,U> Simple implementation ofMap.Entry.MapList<E>Read-only list that generates elements between 0 andsize- 1 by applying a function.Unification algorithm due to Martelli, Montanari (1976) and Paterson, Wegman (1978).Interface implemented by all exceptions in Morel.Ord<E>Pair of an element and an ordinal.Consumer that receives an ordinal, a key, and a value.List ofOrdbacked by an array of elements.Ord.OrdList<E>List ofOrdbacked by a list of elements.List ofOrdbacked by a random-access list of elements.Pair<T1,T2> 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.Pair.LeftIterator<L,R> Iterator that returns the left field of each pair.Pair.MutableZipList<K,V> 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.Pair.RightIterator<L,R> Iterator that returns the right field of each pair.Pair.ZipIterator<L,R> Iterator that pairs elements from two iterators.Pair.ZipList<K,V> Unmodifiable list of pairs, backed by a pair of lists.PairList<T,U> A list of pairs, stored as a quotient list.PairList.Builder<T,U> Builds a PairList.Action to be taken each step of an indexed iteration over a PairList.Various implementations ofPairList.Base class for all implementations of PairList.Immutable list of pairs backed by an array.Empty immutable list of pairs.Mutable version ofPairList.Base class for a list that implementsRandomAccess.Immutable list that contains one pair.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.Utilities.TailList<E>A dynamic list that reads from a given point in a backing list.Utilities forThreadLocal.Implementations ofUnifier.Tracer.Implementation ofUnifier.Tracerthat does nothing.Implementation ofUnifier.Tracerthat writes to a givenPrintWriter.Given pairs of terms, finds a substitution to minimize those pairs of terms.Called by the unifier when a Term's type becomes known.Control flow exception, thrown byUnifier.Term.checkCycle(Map, Map)if it finds a cycle in a substitution map.Result indicating that unification was not possible.Result of attempting unification.A sequence of terms.Map from variables to terms.The results of a successful unification.Term (variable, symbol or node).A pair of terms.Visitor for terms.Called on various events during unification.A variable that represents a symbol or a sequence; unification's task is to find the substitutions for such variables.