1
1
mirror of https://github.com/anoma/juvix.git synced 2024-11-30 05:42:26 +03:00
juvix/tests
Łukasz Czajka 2e38aa609f
Unify type signature declaration syntax (#3178)
* 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>
2024-11-20 15:57:15 +00:00
..
Anoma/Compilation Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
Asm Remove copy propagation from the native/WASM and Rust pipelines (#2846) 2024-06-20 12:44:15 +02:00
benchmark Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
Casm Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
Compilation Named arguments for record projections (#3173) 2024-11-15 18:25:49 +01:00
Core Fix nock compilation and builtin evaluation of sha256 stdilb (#3175) 2024-11-14 18:54:39 +01:00
examplesExpected Add a test suite for milestone examples (#1920) 2023-03-24 13:16:26 +00:00
Internal Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
negative Fix compiler error on import cycles (#3171) 2024-11-15 09:41:02 +01:00
nockma/positive Fix bugs in the Nockma prettyprinter and parser (#2632) 2024-02-09 14:59:42 +01:00
positive Unify type signature declaration syntax (#3178) 2024-11-20 15:57:15 +00:00
Reg/positive Copy propagation in JuvixReg (#2828) 2024-06-18 21:38:02 +02:00
runtime/positive Add an if instruction to JuvixReg (#2855) 2024-06-26 19:08:33 +02:00
Rust/Compilation/positive Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
smoke Support running nockma code with a running Anoma client (#3180) 2024-11-20 08:53:21 +01:00
Tree Fix JuvixTree unification (#3087) 2024-10-09 15:33:42 +02:00
VampIR Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
WithoutPackageFile Fix #2510 (#2512) 2023-11-17 16:10:38 +01:00
.gitattributes Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00