ix.util.lisp
Class Interpreter.Lambda

java.lang.Object
  extended by ix.util.lisp.Interpreter.Expr
      extended by ix.util.lisp.Interpreter.Lambda
Enclosing class:
Interpreter

public static class Interpreter.Lambda
extends Interpreter.Expr

An expression whose value is a function closed in the environment in which this Lambda is evaluated. It thus implements lexical scoping. The function is typically a Interpreter.Closure.


Field Summary
(package private)  Interpreter.Expr body
           
(package private)  Symbol[] vars
           
 
Fields inherited from class ix.util.lisp.Interpreter.Expr
description
 
Constructor Summary
Interpreter.Lambda(java.util.List varList, Interpreter.Expr body)
           
 
Method Summary
protected  java.lang.Object _evalIn(Interpreter.Env env)
          Implements this expression's semantics.
 Expression externalForm()
          Returns a representation of this expression that can be understood by the reflection and XML utilities.
 
Methods inherited from class ix.util.lisp.Interpreter.Expr
evalArgs, evalIn, externalForm, makeExprArray, makeVarArray, setDescription, toString
 
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
Constructor Detail

Interpreter.Lambda

public Interpreter.Lambda(java.util.List varList,
                          Interpreter.Expr body)
Method Detail

_evalIn

protected java.lang.Object _evalIn(Interpreter.Env env)
Description copied from class: Interpreter.Expr
Implements this expression's semantics.

Note that this method is usually not called directly. Instead, call Interpreter.Expr.evalIn(Interpreter.Env).

Specified by:
_evalIn in class Interpreter.Expr

externalForm

public Expression externalForm()
Description copied from class: Interpreter.Expr
Returns a representation of this expression that can be understood by the reflection and XML utilities.

Specified by:
externalForm in class Interpreter.Expr
See Also:
IScript