-
Notifications
You must be signed in to change notification settings - Fork 86
Support for mod
syntax
#2676
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for mod
syntax
#2676
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For chamelon
changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed ocaml/testsuite/tests/typing-layouts/annots.ml, just to get things started. More to come.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finished reviewing testsuite changes
ocaml/testsuite/tests/language-extensions/pprintast_unconditional.reference
Outdated
Show resolved
Hide resolved
d09e34f
to
4075e46
Compare
242be4c
to
cfc857e
Compare
The first commit, 5d4918a ( |
5fd80b2
to
9940dc2
Compare
3251b32
to
948ccce
Compare
b62260f
to
e21be2d
Compare
88bf2b9
to
1f5ca4e
Compare
1f5ca4e
to
6c84274
Compare
* Promote tests that remove redundant kind from error message history * Rename Primitive to Builtin * Remove Const.Sort and Const.Layout aliases * Remove pointless const definition * Remove stale crs about eg layout_float64 * Remove legacy layout usage in printing * Remove legacy layout usage in extension universe check * Rename has_imported_history to is_imported * Remove Legacy module * Remove unused builtins * Move const_of_user_written_annotation into Const module * Update comment * Remove redundant layout definition * Remove unnecessary layout aliases * Document jkind printing * Rename ModeParser to Mode_parser * Fix cr formatting * Remove stale cr * Remove incorrect CRs * Replace any with abstract layout in error message * Assert layout is value in value_kind_of_value_jkind * Don't print : value * Add CRs to remove annotation * Improve debug printing * Share parsing logic between modes and jkinds * Simplify parsing * Add tests * Create test for not calling caml_modify * Reformat files * Add comments to caml_modify test * Rename external_record to internal_record * Hide external_variant's immediacy * Add inlining test for caml_modify * Add copyright header * Clean up typemodifier * Fix prining typo * Add CR to Builtin * Stop calling crossing of nullability mode-crossing * Improve warning 211 message * Restore PRs about incorrect error messages * Cleanup typemodifier more * Fix bug in required maturity level for modes * Fix floatarray kind and promote tests
Allow users to write
mod
syntax (ex:type t : value mod global
). This PR also refactors Jkind so thatimmediate
/immediate64
is no longer a layout, but instead shorthand forvalue mod ...
.Reviewing note: The first two commits (
Promote tests that remove redundant kind from error message history
andRename Primitive to Builtin
) have large, repetitive diffs. I recommend looking at them individually and then skipping them when looking at the total diff.