CakeML / CakeML/cakeml

Add open syntax and semantics

Open
#880 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.