mirror of
https://github.com/anoma/juvix.git
synced 2024-12-02 10:47:32 +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 | ||
latex | ||
package | ||
package-base/Juvix/Builtin |