sisc.nativefun
Class NativeLibrary

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.nativefun.NativeLibrary
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, NamedValue, ExpressionVisitee, Version
Direct Known Subclasses:
IndexedLibraryAdapter, R5RS

public abstract class NativeLibrary
extends Value
implements java.io.Serializable, NamedValue

A Native Library is a collection of bindings that can be imported into any environment in SISC. This API provides for enumerating and fetching the bindings, as well as naming and versioning.

See Also:
Serialized Form

Field Summary
 
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
NativeLibrary()
           
 
Method Summary
 void bindAll(Interpreter r, SymbolicEnvironment env)
           
 void display(ValueWriter w)
           
abstract  Value getBindingValue(Interpreter r, Symbol name)
           
abstract  Symbol[] getLibraryBindingNames(Interpreter r)
           
abstract  java.lang.String getLibraryName()
           
abstract  float getLibraryVersion()
           
 
Methods inherited from class sisc.data.Value
apply, displayNamedOpaque, equals, eqv, eval, express, getValue, synopsis, synopsis, toString, valueEqual, valueHashCode, write, writeReplace
 
Methods inherited from class sisc.data.Expression
deserialize, deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, readExternal, readResolve, serialize, 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

NativeLibrary

public NativeLibrary()
Method Detail

getLibraryBindingNames

public abstract Symbol[] getLibraryBindingNames(Interpreter r)

getBindingValue

public abstract Value getBindingValue(Interpreter r,
                                      Symbol name)
                               throws java.lang.NoSuchMethodError
Throws:
java.lang.NoSuchMethodError

getLibraryName

public abstract java.lang.String getLibraryName()

getLibraryVersion

public abstract float getLibraryVersion()

display

public void display(ValueWriter w)
             throws java.io.IOException
Specified by:
display in class Value
Throws:
java.io.IOException

bindAll

public void bindAll(Interpreter r,
                    SymbolicEnvironment env)