Bundle Files - Spicery/Nutmeg GitHub Wiki
The output of the compiler is a bundle file, which is Nutmeg's equivalent of an executable file. It contains all the assets for the Nutmeg runner to execute the compiled program and, optionally, to debug it.
Under the hood a bundle-file is a SQLITE database. A key table is the BINDINGS table, which maps identifier names to their code-tree.
Tables
Table Bindings
IdName |
Value |
FileName |
Name of an identifier |
Code-tree value (JSON) |
Source file |
Table Annotations
This table records important annotations such as @command
and @unittest
. The composite primary key is the identifier name plus the annotation-key. This table makes the old EntryPoints table obsolete.
IdName |
AnnotationKey |
AnnotationValue |
Identifier name |
An annotation name |
A JSON value (not used at present) |
Table DependsOn
IdName |
Needs |
Name of an identifier that may be used as an entry-point |
Identifier that must be loaded to support it |
Table SourceFiles
FileName |
Contents |
Source file |
Contents of the source file |