Interface Term

All Known Subinterfaces:
RecordTerm, Value
All Known Implementing Classes:
AbstractValue, BlockEvent, ChokeEvent, ConstantValue, ConsValue, DieEvent, ErrorEvent, Event, FieldValue, ForkEvent, FreeEvent, ListValue, NilValue, NullValue, ObjectValue, OptionValue, PrintEvent, PublishEvent, PullEvent, ReceiveEvent, RecordValue, RootEvent, SendEvent, StoreEvent, TaggedValue, TupleValue, UnblockEvent

public interface Term

Terms include Values, Events, and Patterns. Patterns are the only terms that can include variables. The separation is necessary to enforce constraints on values (for example, values can be serialized in a trace file but pattern variables cannot), and also because it makes the binary-dispatch nature of unification more straightforward to implement. However it does lead to some duplication of boilerplate code and class hierarchies.


Method Summary
 void prettyPrint(java.io.Writer out, int indent)
          Pretty-print the term to out.

Method Detail


void prettyPrint(java.io.Writer out,
                 int indent)
                 throws java.io.IOException
Pretty-print the term to out. If the term is multiple lines, each newline should be followed by at least indent tabs. The value should not begin or end with a newline.

See Also:
Terms.indent(Writer, int)