Adding mod-space!
Op Atom, to access the space of a module, loading it if necessary
#615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding
mod-space!
Op Atom, to access the space of a module, loading it if necessarySee #592
It's now possible to do this:
!(add-atom &new_space (mod-space! mod_name))
Therefore,
!(add-atom &self (mod-space! stdlib))
adds the same atom(s) as!(import! &self stdlib)
, but does not add any tokens.For me the remaining question is whether we want to enshrine the "nested-sub-space" behavior into MeTTa semantics? We could add a
merge-atoms
or similar operation, to make it clear we're bringing in all atoms from the source space, but the implementation in the present code would be identical toadd-atom