Example Lambda new 001

 

 

Description

This simple example shows how two copies of the same Lambda have similar but distinct persistent variables.

 

Details

An Lambda to execute the following Lisp script.

			(defun foo1(x) 
			pvars:(y) 
			(defun sum(x) (+ x y))
			(setq y x))                             
            
Returns: #<Lambda 123456>
(foo1 9) Returns: 9
(foo1.sum 2) Returns: 11

Make a distinct copy of the Lambda foo1 and demonstrate how its persistent variables diverge from those of foo2.

(setq foo2 (new foo1)) Returns: #<Lambda 234567>
(foo2.sum 2) Returns: 11
(foo2 20) Returns: 20
(foo2.sum 2) Returns: 22
(foo1.sum 2) Returns: 11

 

Related Examples

Here are examples of the new function at work.

BitVector new 013 Brick new 015 ByteVector new 015 CpxVector new 015
Dictionary new 004 Directory new 005 Directory new 006 FltVector new 009
IntVector new 010 Lambda new 001 Lambda new 002 Lambda new 003
Matrix new 009 Matrix new 010 NumMatrix new 015 NumVector new 011
ObjVector new 012 ObjectRepository new 014 PcodeVector new 014 ShortVector new 011
String new 001 Structure new 003 Symbol new 002 Vector new 007
Vector new 008

 

Function Links

Here is the link to the current function used in this example.

new

Here are a number of links to other related functions.

makeLambda(#void) setq(#void) defun(#void) lambda(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

Lambda

Here are a number of links to examples having similar argument types.

Context debug 001 Context debugBrowsableProcs 001 Context disassemble 001 Context globalBinding 001
Context inspect 001 Lambda argCount 001 Lambda argFetch 001 Lambda balance 001
Lambda callcc 001 Lambda compare 008 Lambda compareEQ 008 Lambda compareGE 008
Lambda compareGT 008 Lambda compareLT 008 Lambda compareNE 004 Lambda compile 001
Lambda copy 008 Lambda debug 001 Lambda debugBrowsableProcs 001 Lambda defchild 001
Lambda define 001 Lambda define(macro) 001 Lambda defmacro 001 Lambda defmacro 002
Lambda deforphan 001 Lambda defriend 001 Lambda defun 001 Lambda defun 002
Lambda disassemble 001 Lambda eval 001 Lambda exportTab 001 Lambda globalBinding 001
Lambda importTab 001 Lambda inspect 001 Lambda isLambda 001 Lambda lambda 001
Lambda makeLambda 001 Lambda myself 001 Lambda new 001 Lambda new 002
Lambda new 003 Lambda onError 001 Lambda send 008 Lambda send 009
Lambda setq 015 Lambda type 011 ObjectRepository detachLibrarian 001 ObjectRepository refLibrarian 001

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE