mirror of
https://github.com/anoma/juvix.git
synced 2024-11-30 05:42:26 +03:00
2e38aa609f
* Closes #2990 * Allows type signatures for constructors, record fields and axioms to have the same form as in function definitions, e.g., ``` field {A} {{M A}} (arg1 arg2 : A) : List A ``` * For constructors, this introduces an ambiguity between record and GADT syntax with names. For example, ``` ctr { A : Type } ``` can be confused by the parser with initial part of GADT type signature: ``` ctr {A : Type} : A -> C A ``` For now, this is resolved by preferring the record syntax. Hence, it's currently not possible to use type signatures with implicit arguments for constructors. Ultimately, the `@` in record syntax should be made mandatory, which would resolve the ambiguity: ``` ctr@{ A : Type } ``` --------- Co-authored-by: Jan Mas Rovira <janmasrovira@gmail.com> |
||
---|---|---|
.. | ||
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 |