Package net.hydromatic.morel.util
package net.hydromatic.morel.util
Utilities.
-
ClassDescriptionBase class for lists whose contents are constant after creation.ArrayQueue<E>Like a list, but
ArrayQueue.poll()(equivalent toremove(0)is O(1).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 ofFolderthat 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).AsUnifier.Constraint, but mutable.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.List of pairs backed by a map.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.Tracer that allows each of its methods to be modified using a handler.Implementation ofTracers.ConfigurableTracerthat has a field for each handler.Implementation ofUnifier.Tracerthat does nothing.Implementation ofUnifier.Tracerthat writes to a givenPrintWriter.Tracers.QuadConsumer<T,U, V, W> Consumer that accepts four arguments.TriConsumer<R,S, T> Represents an operation that accepts three input arguments and returns no result.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 byUnifier.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.Work space forUnifiers.dump(PrintWriter, Iterable).