diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-21 12:05:16 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-21 12:06:21 +0100 |
commit | 4486e0dddc72e6adfc12a30d2a2b4f257f96b357 (patch) | |
tree | 5e9c7b1259789e6bc11d6eb4936295528c4ebfab | |
parent | 0a45fbe81245e17b1a53e97bbc27890a5cdde157 (diff) |
add new tests
66 files changed, 311 insertions, 8 deletions
diff --git a/testdata/language-features/HINT b/testdata/language-features/HINT index 69d865b4..35fcec5f 100644 --- a/testdata/language-features/HINT +++ b/testdata/language-features/HINT | |||
@@ -28,20 +28,24 @@ language features: | |||
28 | done - let in | 28 | done - let in |
29 | done - if then else | 29 | done - if then else |
30 | done - lambda expression | 30 | done - lambda expression |
31 | case of | 31 | done - case of |
32 | type signature - global, local, forall, hidden parameters, type parameters, wildcard, context | ||
33 | patterns | ||
34 | guards - in expressions | ||
35 | list comprehension | ||
36 | operators | ||
32 | where - in value, in expressions | 37 | where - in value, in expressions |
33 | 38 | ||
39 | definition order | ||
40 | recursion | ||
41 | mutual recursion - vary def order, vary on def placing (insert other code between mutual rec functions" | ||
42 | |||
34 | data GADT and ADT | 43 | data GADT and ADT |
35 | type signature - global, local | ||
36 | parenthesis - nested | 44 | parenthesis - nested |
37 | operators | ||
38 | fixity | 45 | fixity |
39 | `infix` notation | 46 | `infix` notation |
40 | patterns | ||
41 | widcards - in pattern, in type | 47 | widcards - in pattern, in type |
42 | @ patterns | 48 | @ patterns |
43 | guards | ||
44 | list comprehension | ||
45 | builtins | 49 | builtins |
46 | records | 50 | records |
47 | swizzling | 51 | swizzling |
@@ -49,5 +53,13 @@ language features: | |||
49 | type synonyms | 53 | type synonyms |
50 | @ type parameters | 54 | @ type parameters |
51 | 55 | ||
52 | module name where -- with and without export list, including exporing itself and other imported modules | 56 | module name where |
53 | import - hiding list, import list, qualified import, qualified import as, import as \ No newline at end of file | 57 | done - with and without export list |
58 | including exporing itself and other imported modules | ||
59 | |||
60 | import | ||
61 | done - hiding list | ||
62 | done - import list | ||
63 | qualified import | ||
64 | qualified import as | ||
65 | import as | ||
diff --git a/testdata/language-features/basic-values/case03.reject.lc b/testdata/language-features/basic-values/case03.reject.lc new file mode 100644 index 00000000..903f3551 --- /dev/null +++ b/testdata/language-features/basic-values/case03.reject.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value1 = case () of | ||
2 | 1 -> () | ||
3 | _ -> () | ||
diff --git a/testdata/language-features/basic-values/case03.reject.out b/testdata/language-features/basic-values/case03.reject.out new file mode 100644 index 00000000..ebe786da --- /dev/null +++ b/testdata/language-features/basic-values/case03.reject.out | |||
@@ -0,0 +1,8 @@ | |||
1 | type error: can not unify | ||
2 | [32m'Int[m | ||
3 | with | ||
4 | [32m'Tuple0[m | ||
5 | |||
6 | in "testdata/language-features/basic-values/case03.reject.lc" (line 1, column 15): | ||
7 | value1 = case () of | ||
8 | ^^ | ||
diff --git a/testdata/language-features/basic-values/case04.reject.lc b/testdata/language-features/basic-values/case04.reject.lc new file mode 100644 index 00000000..4b1571ac --- /dev/null +++ b/testdata/language-features/basic-values/case04.reject.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value1 = case 1 of | ||
2 | 1 -> '1' | ||
3 | _ -> () | ||
diff --git a/testdata/language-features/basic-values/case04.reject.out b/testdata/language-features/basic-values/case04.reject.out new file mode 100644 index 00000000..a805eef9 --- /dev/null +++ b/testdata/language-features/basic-values/case04.reject.out | |||
@@ -0,0 +1,8 @@ | |||
1 | type error: can not unify | ||
2 | [32m'Tuple0[m | ||
3 | with | ||
4 | [32m'Char[m | ||
5 | |||
6 | in "testdata/language-features/basic-values/case04.reject.lc" (line 2, column 8): | ||
7 | 1 -> '1' | ||
8 | ^^^ | ||
diff --git a/testdata/language-features/basic-values/case05.lc b/testdata/language-features/basic-values/case05.lc new file mode 100644 index 00000000..089d1e1c --- /dev/null +++ b/testdata/language-features/basic-values/case05.lc | |||
@@ -0,0 +1,2 @@ | |||
1 | value x = case x of | ||
2 | 1 -> '1' | ||
diff --git a/testdata/language-features/basic-values/case05.out b/testdata/language-features/basic-values/case05.out new file mode 100644 index 00000000..d9414dfb --- /dev/null +++ b/testdata/language-features/basic-values/case05.out | |||
@@ -0,0 +1,6 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/case05.lc 2:8-2:11 V0 | ||
4 | testdata/language-features/basic-values/case05.lc 2:8-2:11 'Char | ||
5 | testdata/language-features/basic-values/case05.lc 2:3-2:4 'Ordering | ||
6 | testdata/language-features/basic-values/case05.lc 2:3-2:4 'Int | ||
diff --git a/testdata/language-features/basic-values/case06.lc b/testdata/language-features/basic-values/case06.lc new file mode 100644 index 00000000..8b946646 --- /dev/null +++ b/testdata/language-features/basic-values/case06.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value x = case x of | ||
2 | 1 -> '1' | ||
3 | _ -> '_' \ No newline at end of file | ||
diff --git a/testdata/language-features/basic-values/case06.out b/testdata/language-features/basic-values/case06.out new file mode 100644 index 00000000..23ab9c12 --- /dev/null +++ b/testdata/language-features/basic-values/case06.out | |||
@@ -0,0 +1,7 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/case06.lc 3:8-3:11 V0 | ||
4 | testdata/language-features/basic-values/case06.lc 3:8-3:11 'Char | ||
5 | testdata/language-features/basic-values/case06.lc 2:8-2:11 'Char | ||
6 | testdata/language-features/basic-values/case06.lc 2:3-2:4 'Ordering | ||
7 | testdata/language-features/basic-values/case06.lc 2:3-2:4 'Int | ||
diff --git a/testdata/language-features/basic-values/deforder01.lc b/testdata/language-features/basic-values/deforder01.lc new file mode 100644 index 00000000..3e845e26 --- /dev/null +++ b/testdata/language-features/basic-values/deforder01.lc | |||
@@ -0,0 +1,2 @@ | |||
1 | x = '1' | ||
2 | y = x \ No newline at end of file | ||
diff --git a/testdata/language-features/basic-values/deforder01.out b/testdata/language-features/basic-values/deforder01.out new file mode 100644 index 00000000..f48f05e7 --- /dev/null +++ b/testdata/language-features/basic-values/deforder01.out | |||
@@ -0,0 +1,5 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/deforder01.lc 1:5-1:8 'Char | ||
4 | testdata/language-features/basic-values/deforder01.lc 2:5-2:6 'Char | ||
5 | testdata/language-features/basic-values/deforder01.lc 2:1-2:2 'Char | ||
diff --git a/testdata/language-features/basic-values/deforder02.wip.lc b/testdata/language-features/basic-values/deforder02.wip.lc new file mode 100644 index 00000000..b0c93d04 --- /dev/null +++ b/testdata/language-features/basic-values/deforder02.wip.lc | |||
@@ -0,0 +1,2 @@ | |||
1 | y = x | ||
2 | x = '1' | ||
diff --git a/testdata/language-features/basic-values/deforder03.lc b/testdata/language-features/basic-values/deforder03.lc new file mode 100644 index 00000000..c72c903a --- /dev/null +++ b/testdata/language-features/basic-values/deforder03.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value = let x = () | ||
2 | y = x | ||
3 | in '1' | ||
diff --git a/testdata/language-features/basic-values/deforder03.out b/testdata/language-features/basic-values/deforder03.out new file mode 100644 index 00000000..f13b51ff --- /dev/null +++ b/testdata/language-features/basic-values/deforder03.out | |||
@@ -0,0 +1,5 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/deforder03.lc 1:17-1:19 'Tuple0 | ||
4 | testdata/language-features/basic-values/deforder03.lc 2:17-3:15 'Tuple0 | ||
5 | testdata/language-features/basic-values/deforder03.lc 3:12-3:15 'Char | ||
diff --git a/testdata/language-features/basic-values/deforder04.wip.lc b/testdata/language-features/basic-values/deforder04.wip.lc new file mode 100644 index 00000000..962ebd10 --- /dev/null +++ b/testdata/language-features/basic-values/deforder04.wip.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value = let y = x | ||
2 | x = () | ||
3 | in '1' | ||
diff --git a/testdata/language-features/basic-values/deforder05.wip.lc b/testdata/language-features/basic-values/deforder05.wip.lc new file mode 100644 index 00000000..047c2cdc --- /dev/null +++ b/testdata/language-features/basic-values/deforder05.wip.lc | |||
@@ -0,0 +1,2 @@ | |||
1 | value = '1' where y = x | ||
2 | x = () | ||
diff --git a/testdata/language-features/basic-values/deforder06.lc b/testdata/language-features/basic-values/deforder06.lc new file mode 100644 index 00000000..fed4bdce --- /dev/null +++ b/testdata/language-features/basic-values/deforder06.lc | |||
@@ -0,0 +1,2 @@ | |||
1 | value = '1' where x = () | ||
2 | y = x | ||
diff --git a/testdata/language-features/basic-values/deforder06.out b/testdata/language-features/basic-values/deforder06.out new file mode 100644 index 00000000..3570e85e --- /dev/null +++ b/testdata/language-features/basic-values/deforder06.out | |||
@@ -0,0 +1,5 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/deforder06.lc 1:23-1:25 'Tuple0 | ||
4 | testdata/language-features/basic-values/deforder06.lc 1:9-2:24 'Tuple0 | ||
5 | testdata/language-features/basic-values/deforder06.lc 1:9-1:12 'Char | ||
diff --git a/testdata/language-features/basic-values/typesig01.lc b/testdata/language-features/basic-values/typesig01.lc new file mode 100644 index 00000000..909069aa --- /dev/null +++ b/testdata/language-features/basic-values/typesig01.lc | |||
@@ -0,0 +1,5 @@ | |||
1 | value1 :: Char | ||
2 | value1 = 'a' | ||
3 | |||
4 | value2::Char | ||
5 | value2='a' | ||
diff --git a/testdata/language-features/basic-values/typesig01.out b/testdata/language-features/basic-values/typesig01.out new file mode 100644 index 00000000..c5caeb34 --- /dev/null +++ b/testdata/language-features/basic-values/typesig01.out | |||
@@ -0,0 +1,8 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/typesig01.lc 1:11-1:15 Type | ||
4 | testdata/language-features/basic-values/typesig01.lc 2:10-2:13 'Char | ||
5 | testdata/language-features/basic-values/typesig01.lc 2:1-2:7 'Char | ||
6 | testdata/language-features/basic-values/typesig01.lc 4:9-4:13 Type | ||
7 | testdata/language-features/basic-values/typesig01.lc 5:8-5:11 'Char | ||
8 | testdata/language-features/basic-values/typesig01.lc 5:1-5:7 'Char | ||
diff --git a/testdata/language-features/basic-values/typesig02.lc b/testdata/language-features/basic-values/typesig02.lc new file mode 100644 index 00000000..132e22a6 --- /dev/null +++ b/testdata/language-features/basic-values/typesig02.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | value1 = 'a' :: Char | ||
2 | |||
3 | value2='a'::Char | ||
diff --git a/testdata/language-features/basic-values/typesig02.out b/testdata/language-features/basic-values/typesig02.out new file mode 100644 index 00000000..5dd7aac0 --- /dev/null +++ b/testdata/language-features/basic-values/typesig02.out | |||
@@ -0,0 +1,7 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/typesig02.lc 1:17-1:21 Type | ||
4 | testdata/language-features/basic-values/typesig02.lc 1:10-1:13 'Char | ||
5 | testdata/language-features/basic-values/typesig02.lc 3:13-3:17 Type | ||
6 | testdata/language-features/basic-values/typesig02.lc 3:8-3:11 'Char | ||
7 | testdata/language-features/basic-values/typesig02.lc 3:1-3:7 'Char | ||
diff --git a/testdata/language-features/basic-values/typesig03.lc b/testdata/language-features/basic-values/typesig03.lc new file mode 100644 index 00000000..04db1677 --- /dev/null +++ b/testdata/language-features/basic-values/typesig03.lc | |||
@@ -0,0 +1,6 @@ | |||
1 | fun1 :: a -> b -> c -> () | ||
2 | fun1 x y z = () | ||
3 | |||
4 | fun2::a->b->c->() | ||
5 | fun2 x y z = () | ||
6 | |||
diff --git a/testdata/language-features/basic-values/typesig03.out b/testdata/language-features/basic-values/typesig03.out new file mode 100644 index 00000000..f540fdbe --- /dev/null +++ b/testdata/language-features/basic-values/typesig03.out | |||
@@ -0,0 +1,28 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/basic-values/typesig03.lc 1:9-1:26 Type | ||
4 | testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V5 | ||
5 | testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V4 | ||
6 | testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V3 | ||
7 | testdata/language-features/basic-values/typesig03.lc 1:24-1:26 Type | ||
8 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 | ||
9 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> V2 -> a -> b->'Tuple0 | ||
10 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> V2 -> V2 -> a->'Tuple0 | ||
11 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2 -> V2 -> V2->'Tuple0 | ||
12 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2 -> V2->'Tuple0 | ||
13 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2->'Tuple0 | ||
14 | testdata/language-features/basic-values/typesig03.lc 2:14-2:16 'Tuple0 | ||
15 | testdata/language-features/basic-values/typesig03.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 | ||
16 | testdata/language-features/basic-values/typesig03.lc 4:7-4:18 Type | ||
17 | testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V5 | ||
18 | testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V4 | ||
19 | testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V3 | ||
20 | testdata/language-features/basic-values/typesig03.lc 4:16-4:18 Type | ||
21 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 | ||
22 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> V2 -> a -> b->'Tuple0 | ||
23 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> V2 -> V2 -> a->'Tuple0 | ||
24 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2 -> V2 -> V2->'Tuple0 | ||
25 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2 -> V2->'Tuple0 | ||
26 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2->'Tuple0 | ||
27 | testdata/language-features/basic-values/typesig03.lc 5:14-5:16 'Tuple0 | ||
28 | testdata/language-features/basic-values/typesig03.lc 5:1-5:5 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 | ||
diff --git a/testdata/language-features/module/Hello01.lc b/testdata/language-features/module/Hello01.lc new file mode 100644 index 00000000..0c58043e --- /dev/null +++ b/testdata/language-features/module/Hello01.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | module Hello01 where | ||
2 | |||
3 | hello = "hello" | ||
4 | world = "world" | ||
diff --git a/testdata/language-features/module/Hello01.out b/testdata/language-features/module/Hello01.out new file mode 100644 index 00000000..da97e9b5 --- /dev/null +++ b/testdata/language-features/module/Hello01.out | |||
@@ -0,0 +1,6 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/Hello01.lc 3:9-3:16 'String | ||
4 | testdata/language-features/module/Hello01.lc 3:1-3:6 'String | ||
5 | testdata/language-features/module/Hello01.lc 4:9-4:16 'String | ||
6 | testdata/language-features/module/Hello01.lc 4:1-4:6 'String | ||
diff --git a/testdata/language-features/module/Hello02.wip.lc b/testdata/language-features/module/Hello02.wip.lc new file mode 100644 index 00000000..7f9775dc --- /dev/null +++ b/testdata/language-features/module/Hello02.wip.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | module Hello02 (hello) where | ||
2 | |||
3 | hello = "hello" | ||
4 | world = "world" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Hello03.wip.lc b/testdata/language-features/module/Hello03.wip.lc new file mode 100644 index 00000000..03c7fc12 --- /dev/null +++ b/testdata/language-features/module/Hello03.wip.lc | |||
@@ -0,0 +1,9 @@ | |||
1 | module Hello03 | ||
2 | ( module Hello01 | ||
3 | , greeting | ||
4 | ) where | ||
5 | import Hello01 | ||
6 | |||
7 | greeting = 'G' | ||
8 | |||
9 | value = 12.2 \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef01.lc b/testdata/language-features/module/Moduledef01.lc new file mode 100644 index 00000000..16ff7ebb --- /dev/null +++ b/testdata/language-features/module/Moduledef01.lc | |||
@@ -0,0 +1 @@ | |||
module Moduledef01 where | |||
diff --git a/testdata/language-features/module/Moduledef01.out b/testdata/language-features/module/Moduledef01.out new file mode 100644 index 00000000..59a8476e --- /dev/null +++ b/testdata/language-features/module/Moduledef01.out | |||
@@ -0,0 +1,2 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
diff --git a/testdata/language-features/module/Moduledef02.reject.lc b/testdata/language-features/module/Moduledef02.reject.lc new file mode 100644 index 00000000..89188cb0 --- /dev/null +++ b/testdata/language-features/module/Moduledef02.reject.lc | |||
@@ -0,0 +1 @@ | |||
module Moduledef02 | |||
diff --git a/testdata/language-features/module/Moduledef02.reject.out b/testdata/language-features/module/Moduledef02.reject.out new file mode 100644 index 00000000..a78b1db0 --- /dev/null +++ b/testdata/language-features/module/Moduledef02.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | "testdata/language-features/module/Moduledef02.reject.lc" (line 2, column 1): | ||
2 | unexpected end of input | ||
3 | expecting "(" or "where" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef03.reject.lc b/testdata/language-features/module/Moduledef03.reject.lc new file mode 100644 index 00000000..1e4c72da --- /dev/null +++ b/testdata/language-features/module/Moduledef03.reject.lc | |||
@@ -0,0 +1 @@ | |||
module moduledef03 where | |||
diff --git a/testdata/language-features/module/Moduledef03.reject.out b/testdata/language-features/module/Moduledef03.reject.out new file mode 100644 index 00000000..f1713b40 --- /dev/null +++ b/testdata/language-features/module/Moduledef03.reject.out | |||
@@ -0,0 +1,4 @@ | |||
1 | "testdata/language-features/module/Moduledef03.reject.lc" (line 1, column 20): | ||
2 | unexpected "w" | ||
3 | expecting uppercase ident | ||
4 | uppercase ident expected \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef04.reject.lc b/testdata/language-features/module/Moduledef04.reject.lc new file mode 100644 index 00000000..bdd56672 --- /dev/null +++ b/testdata/language-features/module/Moduledef04.reject.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | module moduledef04 | ||
2 | |||
3 | hello = "hello" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef04.reject.out b/testdata/language-features/module/Moduledef04.reject.out new file mode 100644 index 00000000..b81c5571 --- /dev/null +++ b/testdata/language-features/module/Moduledef04.reject.out | |||
@@ -0,0 +1,4 @@ | |||
1 | "testdata/language-features/module/Moduledef04.reject.lc" (line 3, column 1): | ||
2 | unexpected "h" | ||
3 | expecting uppercase ident | ||
4 | uppercase ident expected \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef05.reject.lc b/testdata/language-features/module/Moduledef05.reject.lc new file mode 100644 index 00000000..cda54bad --- /dev/null +++ b/testdata/language-features/module/Moduledef05.reject.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | module Moduledef05 | ||
2 | |||
3 | hello = "hello" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef05.reject.out b/testdata/language-features/module/Moduledef05.reject.out new file mode 100644 index 00000000..9182986e --- /dev/null +++ b/testdata/language-features/module/Moduledef05.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | "testdata/language-features/module/Moduledef05.reject.lc" (line 3, column 1): | ||
2 | unexpected "h" | ||
3 | expecting "(" or "where" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef06.lc b/testdata/language-features/module/Moduledef06.lc new file mode 100644 index 00000000..eb3c5b4a --- /dev/null +++ b/testdata/language-features/module/Moduledef06.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | module Moduledef06 where | ||
2 | |||
3 | hello = "hello" | ||
diff --git a/testdata/language-features/module/Moduledef06.out b/testdata/language-features/module/Moduledef06.out new file mode 100644 index 00000000..8de34af7 --- /dev/null +++ b/testdata/language-features/module/Moduledef06.out | |||
@@ -0,0 +1,4 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/Moduledef06.lc 3:9-3:16 'String | ||
4 | testdata/language-features/module/Moduledef06.lc 3:1-3:6 'String | ||
diff --git a/testdata/language-features/module/Moduledef07.lc b/testdata/language-features/module/Moduledef07.lc new file mode 100644 index 00000000..7fb0e9d3 --- /dev/null +++ b/testdata/language-features/module/Moduledef07.lc | |||
@@ -0,0 +1,5 @@ | |||
1 | module | ||
2 | Moduledef07 | ||
3 | where | ||
4 | |||
5 | hello = "hello" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef07.out b/testdata/language-features/module/Moduledef07.out new file mode 100644 index 00000000..b078e94a --- /dev/null +++ b/testdata/language-features/module/Moduledef07.out | |||
@@ -0,0 +1,4 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/Moduledef07.lc 5:9-5:16 'String | ||
4 | testdata/language-features/module/Moduledef07.lc 5:1-5:6 'String | ||
diff --git a/testdata/language-features/module/Moduledef08.lc b/testdata/language-features/module/Moduledef08.lc new file mode 100644 index 00000000..1280140c --- /dev/null +++ b/testdata/language-features/module/Moduledef08.lc | |||
@@ -0,0 +1,5 @@ | |||
1 | module | ||
2 | Moduledef01() | ||
3 | where | ||
4 | |||
5 | hello = "hello" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef08.out b/testdata/language-features/module/Moduledef08.out new file mode 100644 index 00000000..59a8476e --- /dev/null +++ b/testdata/language-features/module/Moduledef08.out | |||
@@ -0,0 +1,2 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
diff --git a/testdata/language-features/module/Moduledef09.wip.lc b/testdata/language-features/module/Moduledef09.wip.lc new file mode 100644 index 00000000..2d30edb3 --- /dev/null +++ b/testdata/language-features/module/Moduledef09.wip.lc | |||
@@ -0,0 +1,6 @@ | |||
1 | module | ||
2 | Moduledef09(hello) | ||
3 | where | ||
4 | |||
5 | hello = "hello" | ||
6 | world = "world" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef10.wip.lc b/testdata/language-features/module/Moduledef10.wip.lc new file mode 100644 index 00000000..fec6426f --- /dev/null +++ b/testdata/language-features/module/Moduledef10.wip.lc | |||
@@ -0,0 +1,9 @@ | |||
1 | module Moduledef10 | ||
2 | ( hello | ||
3 | , world | ||
4 | ) where | ||
5 | |||
6 | hello = "hello" | ||
7 | world = "world" | ||
8 | |||
9 | value = () | ||
diff --git a/testdata/language-features/module/Moduledef11.reject.lc b/testdata/language-features/module/Moduledef11.reject.lc new file mode 100644 index 00000000..6dec0bdc --- /dev/null +++ b/testdata/language-features/module/Moduledef11.reject.lc | |||
@@ -0,0 +1 @@ | |||
module 1 where \ No newline at end of file | |||
diff --git a/testdata/language-features/module/Moduledef11.reject.out b/testdata/language-features/module/Moduledef11.reject.out new file mode 100644 index 00000000..396c5818 --- /dev/null +++ b/testdata/language-features/module/Moduledef11.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | "testdata/language-features/module/Moduledef11.reject.lc" (line 1, column 8): | ||
2 | unexpected "1" | ||
3 | expecting uppercase ident \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef12.reject.lc b/testdata/language-features/module/Moduledef12.reject.lc new file mode 100644 index 00000000..4fd9b99c --- /dev/null +++ b/testdata/language-features/module/Moduledef12.reject.lc | |||
@@ -0,0 +1 @@ | |||
module & where \ No newline at end of file | |||
diff --git a/testdata/language-features/module/Moduledef12.reject.out b/testdata/language-features/module/Moduledef12.reject.out new file mode 100644 index 00000000..2935da1d --- /dev/null +++ b/testdata/language-features/module/Moduledef12.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | "testdata/language-features/module/Moduledef12.reject.lc" (line 1, column 8): | ||
2 | unexpected "&" | ||
3 | expecting uppercase ident \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef13.lc b/testdata/language-features/module/Moduledef13.lc new file mode 100644 index 00000000..7fd40673 --- /dev/null +++ b/testdata/language-features/module/Moduledef13.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | module Moduledef13 (module Moduledef13) where | ||
2 | |||
3 | hello = "hello" \ No newline at end of file | ||
diff --git a/testdata/language-features/module/Moduledef13.out b/testdata/language-features/module/Moduledef13.out new file mode 100644 index 00000000..e798219c --- /dev/null +++ b/testdata/language-features/module/Moduledef13.out | |||
@@ -0,0 +1,4 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/Moduledef13.lc 3:9-3:16 'String | ||
4 | testdata/language-features/module/Moduledef13.lc 3:1-3:6 'String | ||
diff --git a/testdata/language-features/module/import01.lc b/testdata/language-features/module/import01.lc new file mode 100644 index 00000000..acf78b28 --- /dev/null +++ b/testdata/language-features/module/import01.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | import Hello01 | ||
2 | |||
3 | x = hello \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import01.out b/testdata/language-features/module/import01.out new file mode 100644 index 00000000..b4211394 --- /dev/null +++ b/testdata/language-features/module/import01.out | |||
@@ -0,0 +1,4 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/import01.lc 3:5-3:10 'String | ||
4 | testdata/language-features/module/import01.lc 3:1-3:2 'String | ||
diff --git a/testdata/language-features/module/import02.reject.lc b/testdata/language-features/module/import02.reject.lc new file mode 100644 index 00000000..ecb7a6bc --- /dev/null +++ b/testdata/language-features/module/import02.reject.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | import Hello01 | ||
2 | |||
3 | -- refer to undefined function | ||
4 | x = hello2 \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import02.reject.out b/testdata/language-features/module/import02.reject.out new file mode 100644 index 00000000..4fd7632f --- /dev/null +++ b/testdata/language-features/module/import02.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | can't find: hello2 in "testdata/language-features/module/import02.reject.lc" (line 4, column 5): | ||
2 | x = hello2 | ||
3 | ^^^^^^ \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import03.reject.wip.lc b/testdata/language-features/module/import03.reject.wip.lc new file mode 100644 index 00000000..2e54f565 --- /dev/null +++ b/testdata/language-features/module/import03.reject.wip.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | import Hello02 | ||
2 | |||
3 | x = world \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import03.reject.wip.out b/testdata/language-features/module/import03.reject.wip.out new file mode 100644 index 00000000..22013a3d --- /dev/null +++ b/testdata/language-features/module/import03.reject.wip.out | |||
@@ -0,0 +1 @@ | |||
can't find module Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/comment/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/pragma/Hello02.lc testdata/language-features/pragma/Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/basic-values/Hello02.lc testdata/language-features/module/Hello02.lc testdata/language-features/module/Hello02.lc \ No newline at end of file | |||
diff --git a/testdata/language-features/module/import04.reject.wip.lc b/testdata/language-features/module/import04.reject.wip.lc new file mode 100644 index 00000000..32861964 --- /dev/null +++ b/testdata/language-features/module/import04.reject.wip.lc | |||
@@ -0,0 +1,5 @@ | |||
1 | import Hello01 | ||
2 | |||
3 | -- redefine hello | ||
4 | hello = "hello" | ||
5 | x = '1' \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import05.lc b/testdata/language-features/module/import05.lc new file mode 100644 index 00000000..5d2a2bee --- /dev/null +++ b/testdata/language-features/module/import05.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | import Hello01 | ||
2 | |||
3 | x :: String | ||
4 | x = hello \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import05.out b/testdata/language-features/module/import05.out new file mode 100644 index 00000000..1e6be704 --- /dev/null +++ b/testdata/language-features/module/import05.out | |||
@@ -0,0 +1,5 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/import05.lc 3:6-3:12 Type | ||
4 | testdata/language-features/module/import05.lc 4:5-4:10 'String | ||
5 | testdata/language-features/module/import05.lc 4:1-4:2 'String | ||
diff --git a/testdata/language-features/module/import06.lc b/testdata/language-features/module/import06.lc new file mode 100644 index 00000000..15e76c1b --- /dev/null +++ b/testdata/language-features/module/import06.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | import Hello01(world) | ||
2 | |||
3 | hello = () | ||
4 | x = world \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import06.out b/testdata/language-features/module/import06.out new file mode 100644 index 00000000..62dbb4d9 --- /dev/null +++ b/testdata/language-features/module/import06.out | |||
@@ -0,0 +1,6 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/import06.lc 3:9-3:11 'Tuple0 | ||
4 | testdata/language-features/module/import06.lc 3:1-3:6 'Tuple0 | ||
5 | testdata/language-features/module/import06.lc 4:5-4:10 'String | ||
6 | testdata/language-features/module/import06.lc 4:1-4:2 'String | ||
diff --git a/testdata/language-features/module/import07.lc b/testdata/language-features/module/import07.lc new file mode 100644 index 00000000..15b1f2e6 --- /dev/null +++ b/testdata/language-features/module/import07.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | import Hello01 hiding (hello) | ||
2 | |||
3 | hello = () | ||
4 | x = world \ No newline at end of file | ||
diff --git a/testdata/language-features/module/import07.out b/testdata/language-features/module/import07.out new file mode 100644 index 00000000..cf5326d3 --- /dev/null +++ b/testdata/language-features/module/import07.out | |||
@@ -0,0 +1,6 @@ | |||
1 | main is not found | ||
2 | tooltips: | ||
3 | testdata/language-features/module/import07.lc 3:9-3:11 'Tuple0 | ||
4 | testdata/language-features/module/import07.lc 3:1-3:6 'Tuple0 | ||
5 | testdata/language-features/module/import07.lc 4:5-4:10 'String | ||
6 | testdata/language-features/module/import07.lc 4:1-4:2 'String | ||
diff --git a/testdata/language-features/module/import08.wip.lc b/testdata/language-features/module/import08.wip.lc new file mode 100644 index 00000000..6a564f4d --- /dev/null +++ b/testdata/language-features/module/import08.wip.lc | |||
@@ -0,0 +1,12 @@ | |||
1 | import Hello03 | ||
2 | |||
3 | value = () | ||
4 | |||
5 | g :: Char | ||
6 | g = greeting | ||
7 | |||
8 | h :: String | ||
9 | h = hello | ||
10 | |||
11 | w :: String | ||
12 | w = world \ No newline at end of file | ||