org.retro.scheme
Class Procedure

java.lang.Object
  extended byorg.retro.scheme.Procedure
All Implemented Interfaces:
java.lang.Runnable, SchemeProcedure, java.io.Serializable
Direct Known Subclasses:
Closure, Continuation, Primitive, RawConstructor, RawMethod, Reflector

public abstract class Procedure
extends java.lang.Object
implements java.lang.Runnable, java.io.Serializable, SchemeProcedure

See Also:
Serialized Form

Field Summary
 int maxArgs
           
 int minArgs
           
 java.lang.String name
           
 
Constructor Summary
Procedure()
           
Procedure(int minArgs, int maxArgs)
           
 
Method Summary
abstract  java.lang.Object apply(java.lang.Object[] args)
           
 java.lang.Object apply(Pair args)
           
 java.lang.Object apply(SchemePair args)
           
static java.lang.Object catching(Procedure E, Procedure F)
           
 java.lang.String getName()
           
 java.lang.Object[] makeArgArray(java.lang.Object[] code, LexicalEnvironment lexenv)
           
 java.lang.Object[] makeArgArray(Pair args)
           
 int nParms()
           
 void run()
           
 java.lang.Object setName(java.lang.Object name)
           
static java.lang.Object synchronize(java.lang.Object x, Procedure p)
           
static java.lang.Object throwObject(java.lang.Object e)
           
static java.lang.Object throwRuntimeException(java.lang.RuntimeException E)
           
 java.lang.String toString()
           
protected  java.lang.String toStringArgs()
           
static java.lang.Object tryCatch(java.lang.Object E, java.lang.Object F)
           
static java.lang.Object tryFinally(java.lang.Object e, java.lang.Object f)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

public java.lang.String name

minArgs

public int minArgs

maxArgs

public int maxArgs
Constructor Detail

Procedure

public Procedure()

Procedure

public Procedure(int minArgs,
                 int maxArgs)
Method Detail

getName

public java.lang.String getName()

setName

public java.lang.Object setName(java.lang.Object name)

nParms

public int nParms()

toStringArgs

protected java.lang.String toStringArgs()

toString

public java.lang.String toString()

run

public void run()
Specified by:
run in interface java.lang.Runnable

apply

public abstract java.lang.Object apply(java.lang.Object[] args)
Specified by:
apply in interface SchemeProcedure

apply

public java.lang.Object apply(SchemePair args)
Specified by:
apply in interface SchemeProcedure

apply

public java.lang.Object apply(Pair args)

catching

public static java.lang.Object catching(Procedure E,
                                        Procedure F)

tryCatch

public static java.lang.Object tryCatch(java.lang.Object E,
                                        java.lang.Object F)

tryFinally

public static java.lang.Object tryFinally(java.lang.Object e,
                                          java.lang.Object f)

throwRuntimeException

public static java.lang.Object throwRuntimeException(java.lang.RuntimeException E)
                                              throws java.lang.RuntimeException
Throws:
java.lang.RuntimeException

throwObject

public static java.lang.Object throwObject(java.lang.Object e)
                                    throws java.lang.Throwable
Throws:
java.lang.Throwable

synchronize

public static java.lang.Object synchronize(java.lang.Object x,
                                           Procedure p)

makeArgArray

public java.lang.Object[] makeArgArray(java.lang.Object[] code,
                                       LexicalEnvironment lexenv)

makeArgArray

public java.lang.Object[] makeArgArray(Pair args)