mirror of
https://github.com/anoma/juvix.git
synced 2024-11-30 05:42:26 +03:00
ab2d31a313
* Closes #2804 * Requires #3003 * Front-end syntax for side conditions was implemented in #2852. This PR implements compilation of side conditions. * Adds side-conditions to `Match` nodes in Core. Updates Core parsing, printing and the evaluator. * Only side-conditions without an `else` branch are allowed in Core. If there is an `else` branch, the side conditions are translated in `fromInternal` into nested ifs. Because with `else` the conditions are exhaustive, there are no implications for pattern exhaustiveness checking. * Adjusts the "wildcard row" case in the pattern matching compilation algorithm to take into account the side conditions. |
||
---|---|---|
.. | ||
Anoma/Compilation | ||
Asm | ||
benchmark | ||
Casm | ||
Compilation | ||
Core | ||
examplesExpected | ||
Internal | ||
negative | ||
nockma/positive | ||
positive | ||
Reg/positive | ||
runtime/positive | ||
Rust/Compilation/positive | ||
smoke | ||
Tree | ||
VampIR | ||
WithoutPackageFile | ||
.gitattributes |