call


Name:
call - Execute object from a dictionary.
Synopsis:
dict /f call ->	-  
Description:
In SLI, an object-oriented programming style can be  
implemented by using dictionaries as objects.
These object dictionaries then contain functions as well as data.
The command call can be used to call a "member" of an object.

In calling the member-functions, the following steps are performed:
1. the object-dictionary is pushed on the dictionary stack
2. the name is executed in the new dictionary context
3. the object-dictionary is poped off the dictionary stack.
Thus, during the execution of the function, the entire namespace of the
object-dictionary is accessible.

The invocation of call is, thus, comparable but not equivalent
to the following sequence of SLI commands:
/call
{
exch
begin
load exec
end
} def

Diagnostics:
If the called member is not part of the object dictionary,  
an UnknownMember error is raised.

References:
 
[1] Ruediger Kupper, SLI library management,
HRI-EU Report 06/05, Honda Research Institute Europe GmbH, 2006.

SeeAlso: Source:
/home/graber/work-nest/nest-git/nest-simulator/lib/sli/oosupport.sli