Conversation
CHANGES:
Requires Menhir 20211230 and OCaml 4.14 or above on Linux, Windows and
MacOS 14 (Sonoma). MacOS 15 (Sequoia) and later require OCaml 5.4.
- Typechecker:
- Change: disallow undeclared data constructors and predicates
- Compiler:
- New allow builtins to be declared in extension units (not just in the
base)
- Typechecker:
- Fix error messages when there is an arity mismatch, i.e. suggest some
arguments may be missing
- Change symbols without a declared signature raise a fatal error. Only
undeclared predicates are tolerated, and only when the inferred type is
unambiguously `prop`
|
4.14.2 on arm64 error: It doesn't seem like your I made ocaml/ocaml#14599 to report the error upstream. |
|
This is an OCaml 4 bug, indeed. It's fixed in the 4.14 branch. In the meantime, one way to avoid this bug (which only happens with very large functions) could be to use the "table" mode of Menhir instead of the default "code" mode. ( |
|
Just noting here that the fix will be in 4.14.4 (it missed the 4.14.3 window, and the CI is still on 4.14.2 due to slightly older base images). Would you like to spin a new release @gares to follow Xavier's suggestion above, or just go ahead and merge this as it only affects the 4.14.x branch on arm64 and will be fixed in due time as the next minor release gets put out? |
|
All the options proposed by Anil are valid. I'll add one: put a constraint "ocaml >= 4.14.4" so that this new version of ELPI cannot be used with OCaml 4.14 until a minor version that fixes the issue reported here is released. |
|
Thanks for the suggestions, I'll bump the constraint. I think I did see assembler-related failures in my CI also for the 5.x series, up to 5.3, on osx (see the first paragraph in the release notes). Here an example: https://github.com/LPCIC/elpi/actions/runs/22354111742/job/64688762944 |
I changed my mind, I have 3.6 in the pipeline and I'll sneak in the --table option. (and close this PR) |
ELPI - Embeddable λProlog Interpreter
CHANGES:
Requires Menhir 20211230 and OCaml 4.14 or above on Linux, Windows and
MacOS 14 (Sonoma). MacOS 15 (Sequoia) and later require OCaml 5.4.
Typechecker:
Compiler:
base)
Typechecker:
arguments may be missing
undeclared predicates are tolerated, and only when the inferred type is
unambiguously
prop