Name: Inline - Replace names in a procedure with their definitions.

Synopsis:

{proc} &lt;&lt;dict&gt;&gt; Inline -&gt; {proc'}


Examples:

SLI ] {a b add} &lt;&lt;/a 1 /b 2 &gt;&gt; Inline == 
{1 2 add} 
SLI ] {1 2 3 stack} &lt;&lt; /stack dup load  &gt;&gt; Inline == 
{1 2 3 0 1 -count- 3 -sub_ii- /{-index- =} -for-} 
Version: January 19 2008


Description:

Transform the input procedure {proc} such that all names that are 
defined in &lt;&lt;dict&gt;&gt; are placed by their definitions. 
Inline can be used to inline the code of procedures or to replace 
names of constants with their literal values. All names that are not 
defined in &lt;&lt;dict&gt;&gt; are unchanged. 
Inline is particularly useful in combination with CompileMath. 
Inline is similar to bind, but there are two big differences: 
1. bind uses the current dictstack to determine which names are placed. 
2. bind only replaces names that refer to C++-functions or tries.


Parameters:

{proc}    - procedure to be transformed 
&lt;&lt;dict&gt;&gt;  - dictionary with names and definitions for the names to be inlined. 
{proc'}   - the transformed procedure with all names replaced.


Author:

marc-Oliver Gewaltig


SeeAlso:

bind
CompileMath

Source:

/var/www/debian/nest/nest-simulator-2.20.0/lib/sli/mathematica.sli
