Skip to content

Implement 'a or_null#2749

Merged
dkalinichenko-js merged 11 commits intomainfrom
dkalinichenko/implement-or-null
Jul 18, 2024
Merged

Implement 'a or_null#2749
dkalinichenko-js merged 11 commits intomainfrom
dkalinichenko/implement-or-null

Conversation

@dkalinichenko-js
Copy link
Copy Markdown
Collaborator

Do not update the jkind in update_decl_jkind if the manifest is available; always copy the manifest's jkind in check_coherence. This allows us to give types like 'a or_null non-standard jkinds for their kinds (i.e. value_or_null for Type_variant).

Pre-define or_null when Layouts has level Alpha. Add tests for or_null.

or_null will be added to stdlib_alpha in the next PR.

@dkalinichenko-js dkalinichenko-js added typing unboxed types or_null Related to or_null layouts labels Jul 1, 2024
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/allow-more-or-null branch from a857fae to 6ee5b3c Compare July 2, 2024 19:55
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/implement-or-null branch from b1d8b95 to 2050d4b Compare July 2, 2024 20:07
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/allow-more-or-null branch from 1a55698 to 554474a Compare July 2, 2024 20:43
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/implement-or-null branch from 2050d4b to 2a9da51 Compare July 2, 2024 20:53
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/allow-more-or-null branch from 554474a to fc4412c Compare July 15, 2024 16:37
Base automatically changed from dkalinichenko/allow-more-or-null to main July 15, 2024 17:12
@dkalinichenko-js dkalinichenko-js force-pushed the dkalinichenko/implement-or-null branch from 24dec5e to b0eeb13 Compare July 15, 2024 18:01
* `Or_null` module

* Tests

---------

Co-authored-by: Diana Kalinichenko <dkalinichenko@janestreet.com>
lukemaurer pushed a commit to lukemaurer/flambda-backend that referenced this pull request Oct 23, 2024
* `or_null` predef

* More tests

* Gate `or_null` behind `Layouts Alpha`

* Fix merge

* Split and generalize `check_coherence`

* Update ocaml/typing/typedecl.ml

Co-authored-by: Richard Eisenberg <reisenberg@janestreet.com>

* Accept tests

* More tests

* comments

* object tests

* `Stdlib_alpha.Or_null` (oxcaml#2751)

* `Or_null` module

* Tests

---------

Co-authored-by: Diana Kalinichenko <dkalinichenko@janestreet.com>

---------

Co-authored-by: Diana Kalinichenko <dkalinichenko@janestreet.com>
Co-authored-by: Richard Eisenberg <reisenberg@janestreet.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

or_null Related to or_null layouts typing unboxed types

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants