orc.type
Class Type

java.lang.Object
  extended by orc.type.Type
Direct Known Subclasses:
ArrowType, BooleanType, Bot, EllipsisArrowType, LetType, Message, NamedType, NumberType, StringType, Top, TupleType

public abstract class Type
extends java.lang.Object

Abstract superclass of all types for the Orc typechecker.

Author:
dkitchin

Field Summary
static Type BLANK
           
static Type BOOLEAN
           
static Type BOT
           
static Type INTEGER
           
static Type LET
           
static Type NUMBER
           
static Type STRING
           
static Type TOP
           
 
Constructor Summary
Type()
           
 
Method Summary
 Type call(java.util.List<Type> args)
           
 boolean equal(Type that)
           
 Type join(Type that)
           
 Type meet(Type that)
           
 boolean subtype(Type that)
           
 boolean supertype(Type that)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TOP

public static Type TOP

BOT

public static Type BOT

NUMBER

public static final Type NUMBER

STRING

public static final Type STRING

BOOLEAN

public static final Type BOOLEAN

INTEGER

public static final Type INTEGER

LET

public static final Type LET

BLANK

public static final Type BLANK
Constructor Detail

Type

public Type()
Method Detail

subtype

public boolean subtype(Type that)

supertype

public boolean supertype(Type that)

equal

public boolean equal(Type that)

join

public Type join(Type that)

meet

public Type meet(Type that)

call

public Type call(java.util.List<Type> args)
          throws TypeException
Throws:
TypeException

toString

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