ix.util.lisp
Class Interpreter.Closure

java.lang.Object
  extended by ix.util.lisp.Interpreter.AbstractFunction
      extended by ix.util.lisp.Interpreter.Closure
All Implemented Interfaces:
Interpreter.Function
Enclosing class:
Interpreter

public static class Interpreter.Closure
extends Interpreter.AbstractFunction

An interpreted function.


Field Summary
(package private)  Interpreter.Expr body
           
(package private)  Interpreter.Env definitionEnv
           
(package private)  Symbol[] vars
           
 
Fields inherited from interface ix.util.lisp.Interpreter.Function
ANY_ARITY
 
Constructor Summary
Interpreter.Closure(Symbol[] vars, Interpreter.Expr body, Interpreter.Env definitionEnv)
           
 
Method Summary
 java.lang.Object applyTo(java.lang.Object[] args)
          Returns the result of applying this function to the specified arguments.
 int getArity()
          Returns the number of arguments this function expects.
 java.lang.String toString()
           
 
Methods inherited from class ix.util.lisp.Interpreter.AbstractFunction
checkArity, mustBe
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

vars

Symbol[] vars

body

Interpreter.Expr body

definitionEnv

Interpreter.Env definitionEnv
Constructor Detail

Interpreter.Closure

public Interpreter.Closure(Symbol[] vars,
                           Interpreter.Expr body,
                           Interpreter.Env definitionEnv)
Method Detail

applyTo

public java.lang.Object applyTo(java.lang.Object[] args)
Description copied from interface: Interpreter.Function
Returns the result of applying this function to the specified arguments. This is the method that should be defined in order to implement whatever the function is meant to do.


getArity

public int getArity()
Description copied from interface: Interpreter.Function
Returns the number of arguments this function expects. If the function can take any number of arguments, the value is Interpreter.Function.ANY_ARITY.


toString

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