makeLambda

 

 

Description

The makeLambda function creates a new Lambda object. The newly created Lambda is a First Class Object Structure, but it is empty. A First Class object in Lambda Information Server is any object that is fully exposed, i.e., all of the Structures are visible and modifiable by the programmer. In the case of Lambdas, any of the source code tokens, Sc, pcode tokens Pc, as well as any of the data structures that make up the Lambda: Argument variables, Av, persistent variables Pv, persistent class variables Cv, and Temporary variables, Tv, can viewed and modified by the programmer:

The makeLambda function has the following optional arguments: {Av:}, {Tv:}, {Pv:}, {Cv:}, {rv:}, and {Sc:} to allow Lambda properties to be supplied by the programmer. The only mandatory argument is the Pcode Vector argument {Pc:}. Refer to the Virtual Machine Chapter for assistance in creating the Pcode Vector.

When to use

The makeLambda and the new functions allow the programmer to create an Lambda object.

 

Syntax

(makeLambda Av: args Tv: vars Pv: pvars Cv: cvars Rv: regs Pc: PcodeVector Sc: tokens)


Name Description AIS Types
Av: (Optional) The Arguments Structure object .Symbol
args Must follow the Av: keyword and must be a structure containing argument name symbol and value pairs. (name: value) Structure
Tv: (Optional).The Temporary Variable Structure object.Symbol
vars Must follow the Tv: keyword and must be a structure containing temporary variable name symbol and value pairs. (name: value)Structure
Pv: (Optional).The Persistent Variable Structure object.Symbol
pvars Must follow the Pv: keyword and must be a structure containing persistent variable name symbol and value pairs. (name: value)Structure
Cv: (Optional).The Persistent Class Variable Structure object.Symbol
cvars Must follow the Cv: keyword and must be a structure containing persistent class variable name symbol and value pairs. (name: value)Structure
Rv: Optional).The Register Variable Structure objectSymbol
regs Must follow the Rv: keyword and must be a structure containing register variable name symbol and data type pairs. (name: type)Structure
Pc (Mandatory).The Pcode Vector object.PcodeVector
Sc (Optional) The source Token Vector for formula redisplay. If present must be a vector containing source line tokens.Vector


Returns:

Returns the evaluating Lambda.

 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

 

Argument Types

Here are the links to the data types of the function arguments.

Lambda

Here are also a number of links to functions having arguments with any of these data types.

argCount(Lambda) argFetch(Lambda) attachLibrarian(ObjectRepository) balance(Lambda)
callcc(Lambda) compareEQ(BitVector) compareEQ(Boolean) compareEQ(Brick)
compareEQ(Character) compareEQ(Complex) compareEQ(CpxVector) compareEQ(Date)
compareEQ(Dictionary) compareEQ(Directory) compareEQ(FltVector) compareEQ(Function)
compareEQ(IntVector) compareEQ(Lambda) compareEQ(List) compareEQ(Matrix)
compareEQ(NumMatrix) compareEQ(NumVector) compareEQ(Number) compareEQ(ObjVector)
compareEQ(ObjectRepository) compareEQ(Pair) compareEQ(ShortVector) compareEQ(String)
compareEQ(Structure) compareEQ(Symbol) compareEQ(Vector) compareEQ(Void)
compareGE(BitVector) compareGE(Boolean) compareGE(Brick) compareGE(Character)
compareGE(Complex) compareGE(CpxVector) compareGE(Date) compareGE(Dictionary)
compareGE(Directory) compareGE(Function) compareGE(IntVector) compareGE(Lambda)
compareGE(List) compareGE(Matrix) compareGE(NumMatrix) compareGE(Number)
compareGE(ObjVector) compareGE(ObjectRepository) compareGE(Pair) compareGE(ShortVector)
compareGE(String) compareGE(Structure) compareGE(Symbol) compareGE(Vector)
compareGE(Void) compareGT(BitVector) compareGT(Boolean) compareGT(Brick)
compareGT(Character) compareGT(Complex) compareGT(CpxVector) compareGT(Date)
compareGT(Dictionary) compareGT(Directory) compareGT(Function) compareGT(IntVector)
compareGT(Lambda) compareGT(List) compareGT(Matrix) compareGT(NumMatrix)
compareGT(NumVector) compareGT(Number) compareGT(ObjVector) compareGT(ObjectRepository)
compareGT(Pair) compareGT(ShortVector) compareGT(String) compareGT(Structure)
compareGT(Symbol) compareGT(Vector) compareGT(Void) compareLE(BitVector)
compareLE(Boolean) compareLE(Brick) compareLE(Character) compareLE(Complex)
compareLE(CpxVector) compareLE(Date) compareLE(Dictionary) compareLE(Directory)
compareLE(FltVector) compareLE(Function) compareLE(IntVector) compareLE(Lambda)
compareLE(List) compareLE(Matrix) compareLE(NumMatrix) compareLE(NumVector)
compareLE(Number) compareLE(ObjVector) compareLE(ObjectRepository) compareLE(Pair)
compareLE(ShortVector) compareLE(String) compareLE(Structure) compareLE(Symbol)
compareLE(Vector) compareLE(Void) compareLT(BitVector) compareLT(Boolean)
compareLT(Brick) compareLT(Character) compareLT(Complex) compareLT(CpxVector)
compareLT(Date) compareLT(Dictionary) compareLT(Directory) compareLT(FltVector)
compareLT(Function) compareLT(IntVector) compareLT(Lambda) compareLT(List)
compareLT(Matrix) compareLT(NumMatrix) compareLT(NumVector) compareLT(Number)
compareLT(ObjVector) compareLT(ObjectRepository) compareLT(Pair) compareLT(ShortVector)
compareLT(String) compareLT(Structure) compareLT(Symbol) compareLT(Vector)
compareLT(Void) compareNE(BitVector) compareNE(Boolean) compareNE(Brick)
compareNE(Character) compareNE(Complex) compareNE(CpxVector) compareNE(Date)
compareNE(Dictionary) compareNE(Directory) compareNE(FltVector) compareNE(Function)
compareNE(IntVector) compareNE(Lambda) compareNE(List) compareNE(Matrix)
compareNE(NumMatrix) compareNE(NumVector) compareNE(Number) compareNE(ObjVector)
compareNE(ObjectRepository) compareNE(Pair) compareNE(ShortVector) compareNE(String)
compareNE(Structure) compareNE(Symbol) compareNE(Vector) compareNE(Void)
compare(BitVector) compare(Boolean) compare(Brick) compare(Character)
compare(Complex) compare(CpxVector) compare(Date) compare(Dictionary)
compare(Directory) compare(FltVector) compare(Function) compare(IntVector)
compare(Lambda) compare(List) compare(Matrix) compare(NumMatrix)
compare(NumVector) compare(Number) compare(ObjVector) compare(ObjectRepository)
compare(Pair) compare(ShortVector) compare(String) compare(Structure)
compare(Symbol) compare(Vector) compare(Void) compile(Lambda)
compile(List) copy(BitVector) copy(Brick) copy(CpxVector)
copy(Dictionary) copy(Directory) copy(FltVector) copy(IntVector)
copy(Lambda) copy(List) copy(Matrix) copy(NumMatrix)
copy(NumVector) copy(ObjVector) copy(Pair) copy(PcodeVector)
copy(ShortVector) copy(Structure) copy(Vector) debugBrowsableProcs(Context)
debugBrowsableProcs(Lambda) debug(Context) debug(Lambda) defchild(Lambda)
define(macro)(Lambda) define(Lambda) defmacro(Lambda) deforphan(Lambda)
defriend(Lambda) defun(Lambda) detachLibrarian(ObjectRepository) disassemble(Context)
disassemble(Lambda) display(ByteVector) display(FileIO) evalInSyncLocalContext(Context)
eval(Lambda) eval(List) exportTab(Lambda) exportTab(ObjectRepository)
globalBinding(Context) globalBinding(Lambda) importTab(Lambda) importTab(ObjectRepository)
inspect(Context) inspect(Lambda) inspect(ObjectRepository) lambda(Lambda)
lisp(Lambda) lisp(List) macroReplace(String) makeLambda(Lambda)
myself(Lambda) new(BitVector) new(Brick) new(ByteVector)
new(CpxVector) new(Dictionary) new(Directory) new(FltVector)
new(IntVector) new(Lambda) new(Matrix) new(NumMatrix)
new(NumVector) new(ObjVector) new(ObjectRepository) new(PcodeVector)
new(ShortVector) new(String) new(Structure) new(Symbol)
new(Vector) onError(Error) onError(Lambda) refLibrarian(ObjectRepository)
ref(BitVector) ref(Boolean) ref(Brick) ref(Character)
ref(Complex) ref(Date) ref(Dictionary) ref(Directory)
ref(FltVector) ref(Function) ref(IntVector) ref(Lambda)
ref(List) ref(Matrix) ref(NumMatrix) ref(NumVector)
ref(Number) ref(ObjVector) ref(ObjectRepository) ref(PcodeVector)
ref(ShortVector) ref(String) ref(Structure) ref(Symbol)
ref(Vector) ref(Void) send(BitVector) send(Boolean)
send(Brick) send(Character) send(CpxVector) send(Date)
send(Dictionary) send(Directory) send(FltVector) send(Function)
send(IntVector) send(Lambda) send(List) send(Matrix)
send(NumMatrix) send(NumVector) send(Number) send(ObjectRepository)
send(Pair) send(ShortVector) send(String) send(Structure)
send(Symbol) send(Vector) send(Void) setq(BitVector)
setq(Boolean) setq(Brick) setq(Character) setq(Date)
setq(Dictionary) setq(Directory) setq(FltVector) setq(IntVector)
setq(Lambda) setq(List) setq(Matrix) setq(NumVector)
setq(Number) setq(ObjVector) setq(ObjectRepository) setq(PcodeVector)
setq(ShortVector) setq(String) setq(Structure) setq(Symbol)
setq(Vector) setq(Void)

How do I contact the AIS team?

You can always talk with the AIS at aiserver.sourceforge.net.