Add open syntax and semantics
- Dominant language
- Standard ML
- Stars
- 1.2k
- Forks
- 104
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 16
Description
This issue will track the progress of adding `open` and `let open` forms to the CakeML syntax and semantics.
It is _almolst_ possible to emulate the functionality of `open` using existing features, but there's no substitute to the re-binding of constructors that is performed by `open`:
```sml
structure S = struct
datatype foo = Foo
end;
fun foo S.Foo = ();
(* This is the only way to lift S.Foo into the top-level namespace: *)
open S
fun foo Foo = ();
```
Some progress has been made on the [dopen](https://github.com/CakeML/cakeml/tree/dopen) branch, and I think the main issue is that the type system is in the way somehow. @xrchz was the last to work on this branch: do you recall what the issues were?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.