sisc.nativefun
Class CommonIndexedProcedure

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.data.Procedure
                  extended by sisc.nativefun.NativeProcedure
                      extended by sisc.nativefun.IndexedProcedure
                          extended by sisc.nativefun.CommonIndexedProcedure
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, NamedValue, ExpressionVisitee, Version
Direct Known Subclasses:
Annotations.Complex, FileManipulation.Complex, NativeModuleTemplate.Complex, OptionalPrimitives.Complex, Primitives.Complex, Primitives.Complex, Reflection.Complex, Threads.Complex

public abstract class CommonIndexedProcedure
extends IndexedProcedure

CommonIndexedProcedure is a helper class intended to unify the interfaces of fixable and non-fixable procedures, so that development of native libraries is more consistent and flexible.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class sisc.nativefun.IndexedProcedure
id
 
Fields inherited from class sisc.data.Expression
annotations, EMPTYSET
 
Fields inherited from class sisc.util.Util
BACKQUOTE, BEGIN, bundles, caseSensitive, EMPTYLIST, EMPTYVEC, EOF, ERRORK, EVAL, EXPSC, EXPTOP, FALSE, FCONT, FIVE, JEXCEPTION, LAMBDA, LOCATION, maxFloatPrecision, MESSAGE, minFloatPrecision, NAME, OTHER, PARENT, permitInterrupts, QUOTE, QUOTESYM, REPORT, SETBANG, SISC, SISC_SPECIFIC, SISCB, SOURCE_COLUMN, SOURCE_FILE, SOURCE_LINE, SYMENV, THIS, TOPLEVEL, TRUE, UNQUOTE, UNQUOTE_SPLICING, VOID, ZV
 
Fields inherited from interface sisc.util.Version
VERSION
 
Constructor Summary
CommonIndexedProcedure()
           
CommonIndexedProcedure(int id)
           
 
Method Summary
 Value apply()
           
 Value apply(Interpreter r, Value v1)
           
 Value apply(Interpreter r, Value[] v)
           
 Value apply(Interpreter r, Value v1, Value v2)
           
 Value apply(Interpreter r, Value v1, Value v2, Value v3)
           
 Value apply(Value v1)
           
 Value apply(Value[] vlr)
           
 Value apply(Value v1, Value v2)
           
 Value apply(Value v1, Value v2, Value v3)
           
 Value applyZero(Interpreter r)
          A common indexed procedure must subclass one of the following methods
 Value doApply(Interpreter r)
          A NativeProcedure instance must implement this method, which performs the actual processing specific to that procedure, and returns a Value.
 
Methods inherited from class sisc.nativefun.IndexedProcedure
deserialize, serialize
 
Methods inherited from class sisc.nativefun.NativeProcedure
apply, display
 
Methods inherited from class sisc.data.Procedure
error, throwArgSizeException, throwNestedPrimException, throwNestedPrimException, throwPrimException
 
Methods inherited from class sisc.data.Value
displayNamedOpaque, equals, eqv, eval, express, getValue, synopsis, synopsis, toString, valueEqual, valueHashCode, write, writeReplace
 
Methods inherited from class sisc.data.Expression
deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, readExternal, readResolve, serializeAnnotations, setAnnotation, setAnnotation, setName, visit, visitAnnotations, writeExternal
 
Methods inherited from class sisc.util.Util
annotated, annotatedAppEval, append, argCheck, argsToSymbols, assq, bininport, bininstream, binoutport, binoutstream, box, character, charinport, charinreader, charoutport, charoutwriter, charsetFromString, chr, cont, currentClassLoader, env, error, error, error, error, error, error, error, expr, getDefaultCharacterSet, immutablePair, immutableVector, inport, javaExceptionToString, javaWrap, justify, length, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, list, list, list, list, list, makeURL, mapcar, memq, nlib, num, outport, pair, pairToExpressions, pairToExpVect, pairToValues, proc, read, registerBundle, reverse, reverseInPlace, simpleErrorToString, sourceAnnotations, str, string, sym, symbol, symval, truePair, truth, truth, typeError, typeError, updateName, url, url, url, valArrayToList, valArrayToList, valArrayToVec, vec, warn, warn, warn
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface sisc.data.NamedValue
getName, setName
 

Constructor Detail

CommonIndexedProcedure

public CommonIndexedProcedure()

CommonIndexedProcedure

public CommonIndexedProcedure(int id)
Method Detail

applyZero

public Value applyZero(Interpreter r)
                throws ContinuationException
A common indexed procedure must subclass one of the following methods

Throws:
ContinuationException

apply

public Value apply()
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Interpreter r,
                   Value v1)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Value v1)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Interpreter r,
                   Value v1,
                   Value v2)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Value v1,
                   Value v2)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Interpreter r,
                   Value v1,
                   Value v2,
                   Value v3)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Value v1,
                   Value v2,
                   Value v3)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Interpreter r,
                   Value[] v)
            throws ContinuationException
Throws:
ContinuationException

apply

public Value apply(Value[] vlr)
            throws ContinuationException
Throws:
ContinuationException

doApply

public Value doApply(Interpreter r)
              throws ContinuationException
Description copied from class: NativeProcedure
A NativeProcedure instance must implement this method, which performs the actual processing specific to that procedure, and returns a Value.

Specified by:
doApply in class NativeProcedure
Throws:
ContinuationException