1
1
mirror of https://github.com/anoma/juvix.git synced 2024-11-30 14:13:27 +03:00
juvix/tests/positive
Ł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
..
265 Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
272 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
BuiltinsMultiImport Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
BuiltinsMultiOpenImport Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
ConfluentScoping Properly handle confluent imports (#2915) 2024-07-23 19:56:30 +02:00
Dependencies Include the juvix version in the build directory path (#3069) 2024-09-30 08:57:47 +01:00
FancyPaths Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
ImportAsOpen Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
ImportNestedLocalModule Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
Imports Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
ImportShadow Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
InstanceImport Don't put a space after the lambda keyword (#3121) 2024-10-23 16:02:56 +02:00
Internal Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
Isabelle Allow trailing semicolons everywhere (#3123) 2024-10-29 18:25:06 +01:00
issue1333 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue1466 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue1693 Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
issue1731 Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
issue1879 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue2163 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue2248 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue2296 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue2373 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
issue2737 Fix location of scoped modulePathName (#3011) 2024-09-09 15:50:29 +02:00
issue2929 Fix scanning of names with import prefix (#2929) 2024-07-31 10:02:38 +02:00
issue3048 Set line width to 80 (#3124) 2024-10-25 15:11:19 +02:00
issue3068 Ignore files that start with a . (#3072) 2024-09-30 12:17:18 +02:00
Markdown Fix the location in the parser for .juvix.md (#3020) 2024-09-11 14:07:16 +02:00
MarkdownImport Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
NoDependencies Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
package Allow trailing semicolons everywhere (#3123) 2024-10-29 18:25:06 +01:00
PackageLoader Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
PackageLoaderV2 Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
PublicImports Generalize import syntax (#2819) 2024-06-21 15:02:30 +02:00
QualifiedConstructor Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
QualifiedImports Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
QualifiedSymbol Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
QualifiedSymbol2 Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
Reachability Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
StdlibImport Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
StdlibList Set line width to 80 (#3124) 2024-10-25 15:11:19 +02:00
Termination Detect termination for nested local definitions (#3169) 2024-11-15 12:30:18 +01:00
UsingHiding Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
VisibilityPrecendence Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
Adt.juvix Improve formatting of single-constructor types and records (#2342) 2023-09-07 16:20:14 +02:00
Alias.juvix Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
AliasRecordConstructor.juvix Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
Ape.juvix Set line width to 80 (#3124) 2024-10-25 15:11:19 +02:00
Axiom.juvix Fix: format juvix files in test/positive (#1978) 2023-04-12 10:07:01 +02:00
Builtins.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
BuiltinsBool.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
ConstructorWildcard.juvix Improve formatting of function definition arguments (#2551) 2023-12-07 11:26:48 +01:00
Format.juvix Unify type signature declaration syntax (#3178) 2024-11-20 15:57:15 +00:00
FormatPragma.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
HoleTypeParameter.juvix Fix for crash with wildcard used in type definition (#2405) 2023-10-02 18:58:21 +02:00
IdInType.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Inductive.juvix Improve formatting of single-constructor types and records (#2342) 2023-09-07 16:20:14 +02:00
InductivePipes.juvix Improve formatting of single-constructor types and records (#2342) 2023-09-07 16:20:14 +02:00
InstanceAxiom.juvix Fix instance axiom bug (#2439) 2023-10-10 15:55:17 +02:00
issue2994.juvix Fix typechecking of default arguments in signatures with trait arguments (#2998) 2024-09-05 19:43:04 +02:00
issue2999.juvix Allow trailing semicolons everywhere (#3123) 2024-10-29 18:25:06 +01:00
issue3064.juvix Fix termination crash due to empty permutation (#3081) 2024-10-02 18:59:30 +02:00
Iterators.juvix Formatter: add braces when the iterator body is not enclosed (#3122) 2024-10-25 11:42:01 +02:00
Judoc.juvix Make juvix format line width 100 with ribbon width 100 (#2883) 2024-07-10 18:21:09 +01:00
LambdaCalculus.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
LetOpen.juvix Unify type signature declaration syntax (#3178) 2024-11-20 15:57:15 +00:00
LetShadow.juvix Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
Literals.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
LocalModWithAxiom.juvix Fix #2495 (#2496) 2023-11-03 21:23:57 +01:00
LocalModWithAxiom.juvix.formatted Fix #2495 (#2496) 2023-11-03 21:23:57 +01:00
LocalSynonym.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
MultiParams.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
MutualLet.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
MutualType.juvix Fix remove unexpected whitespaces introduced by formatting (#2489) 2023-11-03 12:51:45 +01:00
NamedArguments.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
Namespaces.juvix Separate modules namespace (#2257) 2023-07-26 09:59:50 +02:00
NestedPatterns.juvix Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
OmitType.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Operators.juvix New fixity/iterator syntax (#2332) 2023-09-14 10:57:38 +02:00
Package.juvix Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
Parsing.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
Polymorphism.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
PolymorphismHoles.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Pragmas.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
Projections.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
Puns.juvix Allow trailing semicolons everywhere (#3123) 2024-10-29 18:25:06 +01:00
RecordIterator.juvix Allow trailing semicolons everywhere (#3123) 2024-10-29 18:25:06 +01:00
RecordPattern.juvix Fix generation of wildcards in RecordPattern (#2802) 2024-06-04 18:28:25 +02:00
RecordProjectionSignature.juvix Named arguments for record projections (#3173) 2024-11-15 18:25:49 +01:00
Records2.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
Records.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
ShadowPublicOpen.juvix Fix: format juvix files in test/positive (#1978) 2023-04-12 10:07:01 +02:00
SignatureWithBody.juvix Don't put a space after the lambda keyword (#3121) 2024-10-23 16:02:56 +02:00
Symbols.juvix User-friendly operator declaration syntax (#2270) 2023-08-09 18:15:51 +02:00
Syntax.juvix Make juvix format line width 100 with ribbon width 100 (#2883) 2024-07-10 18:21:09 +01:00
Traits2.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
Traits.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
TypeAlias.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
TypeSignatures.juvix Unify type signature declaration syntax (#3178) 2024-11-20 15:57:15 +00:00
WildcardArguments.juvix Allow wildcard arguments in new function definition syntax (#2295) 2023-08-16 17:51:09 +02:00