Manifests
On larger programs you might want to break your code up across multiple files this is done by using a manifest. A manifest tells evolve that as well as the current file it needs to load additional files to run.
A manifest is defined as follows
manf
File1.e
File2.e
File3.e
_manf
This tells the interpreter that as well as the existing file it needs to load File1.e, File2.e and File3.e.
In the following example there are 3 files the Manifest1.e relies on functions in Manifest2.e and Manifest1.e, while Manifest2.e relies on a file in Manifest 3.
//---------------------------------------
// File: Manifest1.e
//---------------------------------------
//---------------------------------------
// Manifest:
//---------------------------------------
manf
Manifest2.e
Manifest3.e
_manf
//---------------------------------------
// Block: DisplayFunc
//---------------------------------------
// Variables:
// String
//---------------------------------------
block DisplayFunc String
outl "DFL: " String
_block
block Go
DisplayFunc "DF Called by local"
DisplayFuncMan2 "DF2 Called by local"
DisplayFuncMan3 "DF3 Called by local"
_block
//---------------------------------------
// File: Manifest2.e
//---------------------------------------
//---------------------------------------
// Manifest:
//---------------------------------------
manf
Manifest3.e
_manf
//---------------------------------------
// Block: DisplayFuncMan2
//---------------------------------------
// Variables:
// String
//---------------------------------------
block DisplayFuncMan2 String
outl "DisplayFuncMan2: " String
DisplayFuncMan3 "DF3 Called from Manifest2"
_block
//---------------------------------------
// File: Manifest3.e
//---------------------------------------
//---------------------------------------
// Block: DisplayFuncMan3
//---------------------------------------
// Variables:
// String1
//---------------------------------------
block DisplayFuncMan3 String1
outl "DisplayFuncMan3: " String1
_block