Closed favonia closed 1 year ago
The copy-paste semantics for imports:
import a [name modifiers] arguments
should be effectively the same as
private namespace begin
-- compiled content of a.red (without running ML again)
end [name modifiers] arguments
Mostly implemented by https://github.com/RedPRL/yuujinchou.
open
andnamespace
, sharing the code with #449.[ ] implement the += shortcut.
This is what I want:
A namespace
M.O.P telescope
has exactly three effects:open M.O.P
and-> public M.O.P
instead ofprivate *
.Concretely, all the following should be exactly the same:
Blind batch applications after open: it seems to be convenient to blindly apply all functions imported by an open to the same set of arguments. This means a new function is defined for each imported name with the same set of argument. There is no restriction as long as the elaboration and type-checker (run independently on each application) are happy. The following two should be the same.
These are the current full syntax
and the following two should be the same