Example Lambda argFetch 001

 

 

Description

The argFetch function returns the value of the indexed argument for the current SumNums Lambda.

 

Details

The SumNums Lambda is defined.

        (define SumNums 
            (lambda (X ...)  vars:(Z)
            (setq  Z  X)
            (loop for i from 1 until (argCount) do                    
                 (setq Z (+  Z  (argFetch i))))
         Z ))  ;return the result of adding  
Returns: #<Lambda 123456>

The Lambda is inputted with 3 arguments.

(SumNums 4 5 71) Returns: 80

Notes and Hints

An Analytic Information Server Lambda may be defined, with a definite list (fixed) or an indefinite list of arguments (variable) The ellipses at the end of the argument list indicates the function has indefinite arguments. At run time, the Lambda's arguments are bound to the specified definite arguments respectively. The Lisp compiler can detect and generate an error message when there are too few arguments in the definite argument list. If the number of arguments exceed the number of definite arguments, the excess arguments can only be accessed during runtime via the argCount and argFetch functions. (See the lambda special form).

 

Related Examples

Here are examples of the argFetch function at work.

Lambda argFetch 001

 

Function Links

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

argFetch

Here are a number of links to other related functions.

argCount(#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