Closed maxsnew closed 1 year ago
We need a notation for basic modules which has
Any particular notation in mind?
Before introducing export/import grammar, we need to first introduce "global let" right?
I agree (that's what I tried to express by "expose bindings"). Do you have any particular syntax in mind?
For "global let", we can have
define x : A = a
And we can either make everything public to start or use Rust's
pub define ...
Syntax added. I'm not quite sure what semantics it would be though... Should we make them mutually recursive or just separate from each other?
I'd say add mutual recursion when we add mutually recursive lets.
I'm de-prioritizing this as we can always work around it for now by copy-pasting code. I'll put it on the next milestone.
I'm trying to make this feature like: When I put this at the beginning of the file
import std # for example, import the std.zydeco
All the codes in std.zydeco
will be attached before the current file and can be used in this file.
More details will be further discussed in #12, #44 and #45.
To implement a standard library we need to add support for basic namespacing and programming with multi-file programs.