Interpreter
The intepreter is called mnml. It can be run interactively:
$ mnml
>
It accepts a file name as a parameter:
$ mnml file.l
It can be used as a shebang interpreter:
#!/usr/bin/env mnml
(load '(math +))
(+ 1 2)
By default, only the symbols def, load, and quote from the std module are
available. Scripts are strongly encouraged to load what they use.
Environment variables
MNML_DEBUG
If Minima.l has been compiled with debug support, this variable controls which class of debug output to generate. It accepts a comma-separated list of category names:
BIND: argument binding operationsCHAN: I/O channel operationsCLOS: evaluation closuresCONS: list construction operationsEVAL: expression evaluationMAKE: atom creation operations* MODL: module operationsREFC: reference counting operationsSLOT: slot allocator operationsSLAB: slab allocator operations
$ MNML_DEBUG=MODL,SLOT mnml
The variable can be left empty to restrict debug output to eval.
MNML_MODULE_PATH
This variable controls where to look for modules, the default being the
lib/mnml directory in the installation prefix. It accepts a colon-separated
list of paths:
$ MNML_MODULE_PATH=/some/path:/some/other/path mnml
MNML_SCRIPT_PATH
This variable controls where to look for lisp scripts, the default being
share/mnml in the installation prefix. It accepts a colon-separated
list of paths:
$ MNML_SCRIPT_PATH=/some/path:/some/other/path mnml
When set, that path is used to match occurences of @lib in (load) statements.