orc.runtime.values
Class NilValue

java.lang.Object
  extended by orc.runtime.values.Value
      extended by orc.runtime.values.ListValue
          extended by orc.runtime.values.NilValue
All Implemented Interfaces:
java.lang.Iterable, Eq, ListLike

public class NilValue
extends ListValue


Field Summary
static NilValue singleton
           
 
Fields inherited from class orc.runtime.values.Value
futureNotReady
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 java.util.List<java.lang.Object> enlist()
           
 boolean eqTo(java.lang.Object that)
          Return true if this is equivalent to that.
 int hashCode()
           
 java.lang.String toString()
           
 void uncons(Token caller)
          Return the head and tail of a cons-like data structure to a token, or die.
 void unnil(Token caller)
          Signal a token if this value is equivalent to nil, or die.
 
Methods inherited from class orc.runtime.values.ListValue
iterator, make, make
 
Methods inherited from class orc.runtime.values.Value
forceArg, forceCall, signal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

singleton

public static final NilValue singleton
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

uncons

public void uncons(Token caller)
Description copied from interface: ListLike
Return the head and tail of a cons-like data structure to a token, or die. The only place this should be called is TryCons

Specified by:
uncons in interface ListLike
Specified by:
uncons in class ListValue

unnil

public void unnil(Token caller)
Description copied from interface: ListLike
Signal a token if this value is equivalent to nil, or die. The only place this should be called is TryNil

Specified by:
unnil in interface ListLike
Specified by:
unnil in class ListValue

enlist

public java.util.List<java.lang.Object> enlist()
Specified by:
enlist in class ListValue

accept

public <E> E accept(Visitor<E> visitor)
Overrides:
accept in class ListValue

eqTo

public boolean eqTo(java.lang.Object that)
Description copied from interface: Eq
Return true if this is equivalent to that. that is assumed to be non-null. This is often implemented in terms of Equal.eq(Object, Object). Two "eq" objects should have the same hashCode at the time they are compared.


hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object