This implements some words to create a sandboxed dictionary and to execute a word or quotation within the sandbox.
The dictionary is structured as a linked list. To make a new one, I take an array with the names from the global dictionary, extract the header fields for each, and make a new list using them.
The make-dict will return a pointer to the last entry in the new dictionary.
The { ... } make-dict can be wrapped in something to make this a little more obvious.
I implement a very simple d:with to run a quote with a sandboxed dictionary. This works by temporarily replacing the global dictionary with the sandboxed one.
This will expose a dictionary with just two words that can be used with a new % sigil.