summaryrefslogtreecommitdiff
path: root/testdata/language-features
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-01-21 12:05:16 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-01-21 12:06:21 +0100
commit4486e0dddc72e6adfc12a30d2a2b4f257f96b357 (patch)
tree5e9c7b1259789e6bc11d6eb4936295528c4ebfab /testdata/language-features
parent0a45fbe81245e17b1a53e97bbc27890a5cdde157 (diff)
add new tests
Diffstat (limited to 'testdata/language-features')
-rw-r--r--testdata/language-features/HINT28
-rw-r--r--testdata/language-features/basic-values/case03.reject.lc3
-rw-r--r--testdata/language-features/basic-values/case03.reject.out8
-rw-r--r--testdata/language-features/basic-values/case04.reject.lc3
-rw-r--r--testdata/language-features/basic-values/case04.reject.out8
-rw-r--r--testdata/language-features/basic-values/case05.lc2
-rw-r--r--testdata/language-features/basic-values/case05.out6
-rw-r--r--testdata/language-features/basic-values/case06.lc3
-rw-r--r--testdata/language-features/basic-values/case06.out7
-rw-r--r--testdata/language-features/basic-values/deforder01.lc2
-rw-r--r--testdata/language-features/basic-values/deforder01.out5
-rw-r--r--testdata/language-features/basic-values/deforder02.wip.lc2
-rw-r--r--testdata/language-features/basic-values/deforder03.lc3
-rw-r--r--testdata/language-features/basic-values/deforder03.out5
-rw-r--r--testdata/language-features/basic-values/deforder04.wip.lc3
-rw-r--r--testdata/language-features/basic-values/deforder05.wip.lc2
-rw-r--r--testdata/language-features/basic-values/deforder06.lc2
-rw-r--r--testdata/language-features/basic-values/deforder06.out5
-rw-r--r--testdata/language-features/basic-values/typesig01.lc5
-rw-r--r--testdata/language-features/basic-values/typesig01.out8
-rw-r--r--testdata/language-features/basic-values/typesig02.lc3
-rw-r--r--testdata/language-features/basic-values/typesig02.out7
-rw-r--r--testdata/language-features/basic-values/typesig03.lc6
-rw-r--r--testdata/language-features/basic-values/typesig03.out28
-rw-r--r--testdata/language-features/module/Hello01.lc4
-rw-r--r--testdata/language-features/module/Hello01.out6
-rw-r--r--testdata/language-features/module/Hello02.wip.lc4
-rw-r--r--testdata/language-features/module/Hello03.wip.lc9
-rw-r--r--testdata/language-features/module/Moduledef01.lc1
-rw-r--r--testdata/language-features/module/Moduledef01.out2
-rw-r--r--testdata/language-features/module/Moduledef02.reject.lc1
-rw-r--r--testdata/language-features/module/Moduledef02.reject.out3
-rw-r--r--testdata/language-features/module/Moduledef03.reject.lc1
-rw-r--r--testdata/language-features/module/Moduledef03.reject.out4
-rw-r--r--testdata/language-features/module/Moduledef04.reject.lc3
-rw-r--r--testdata/language-features/module/Moduledef04.reject.out4
-rw-r--r--testdata/language-features/module/Moduledef05.reject.lc3
-rw-r--r--testdata/language-features/module/Moduledef05.reject.out3
-rw-r--r--testdata/language-features/module/Moduledef06.lc3
-rw-r--r--testdata/language-features/module/Moduledef06.out4
-rw-r--r--testdata/language-features/module/Moduledef07.lc5
-rw-r--r--testdata/language-features/module/Moduledef07.out4
-rw-r--r--testdata/language-features/module/Moduledef08.lc5
-rw-r--r--testdata/language-features/module/Moduledef08.out2
-rw-r--r--testdata/language-features/module/Moduledef09.wip.lc6
-rw-r--r--testdata/language-features/module/Moduledef10.wip.lc9
-rw-r--r--testdata/language-features/module/Moduledef11.reject.lc1
-rw-r--r--testdata/language-features/module/Moduledef11.reject.out3
-rw-r--r--testdata/language-features/module/Moduledef12.reject.lc1
-rw-r--r--testdata/language-features/module/Moduledef12.reject.out3
-rw-r--r--testdata/language-features/module/Moduledef13.lc3
-rw-r--r--testdata/language-features/module/Moduledef13.out4
-rw-r--r--testdata/language-features/module/import01.lc3
-rw-r--r--testdata/language-features/module/import01.out4
-rw-r--r--testdata/language-features/module/import02.reject.lc4
-rw-r--r--testdata/language-features/module/import02.reject.out3
-rw-r--r--testdata/language-features/module/import03.reject.wip.lc3
-rw-r--r--testdata/language-features/module/import03.reject.wip.out1
-rw-r--r--testdata/language-features/module/import04.reject.wip.lc5
-rw-r--r--testdata/language-features/module/import05.lc4
-rw-r--r--testdata/language-features/module/import05.out5
-rw-r--r--testdata/language-features/module/import06.lc4
-rw-r--r--testdata/language-features/module/import06.out6
-rw-r--r--testdata/language-features/module/import07.lc4
-rw-r--r--testdata/language-features/module/import07.out6
-rw-r--r--testdata/language-features/module/import08.wip.lc12
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 @@
1value1 = 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 @@
1type error: can not unify
2'Int
3with
4'Tuple0
5
6in "testdata/language-features/basic-values/case03.reject.lc" (line 1, column 15):
7value1 = 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 @@
1value1 = 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 @@
1type error: can not unify
2'Tuple0
3with
4'Char
5
6in "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 @@
1value 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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/case05.lc 2:8-2:11 V0
4testdata/language-features/basic-values/case05.lc 2:8-2:11 'Char
5testdata/language-features/basic-values/case05.lc 2:3-2:4 'Ordering
6testdata/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 @@
1value 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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/case06.lc 3:8-3:11 V0
4testdata/language-features/basic-values/case06.lc 3:8-3:11 'Char
5testdata/language-features/basic-values/case06.lc 2:8-2:11 'Char
6testdata/language-features/basic-values/case06.lc 2:3-2:4 'Ordering
7testdata/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 @@
1x = '1'
2y = 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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/deforder01.lc 1:5-1:8 'Char
4testdata/language-features/basic-values/deforder01.lc 2:5-2:6 'Char
5testdata/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 @@
1y = x
2x = '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 @@
1value = 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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/deforder03.lc 1:17-1:19 'Tuple0
4testdata/language-features/basic-values/deforder03.lc 2:17-3:15 'Tuple0
5testdata/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 @@
1value = 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 @@
1value = '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 @@
1value = '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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/deforder06.lc 1:23-1:25 'Tuple0
4testdata/language-features/basic-values/deforder06.lc 1:9-2:24 'Tuple0
5testdata/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 @@
1value1 :: Char
2value1 = 'a'
3
4value2::Char
5value2='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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesig01.lc 1:11-1:15 Type
4testdata/language-features/basic-values/typesig01.lc 2:10-2:13 'Char
5testdata/language-features/basic-values/typesig01.lc 2:1-2:7 'Char
6testdata/language-features/basic-values/typesig01.lc 4:9-4:13 Type
7testdata/language-features/basic-values/typesig01.lc 5:8-5:11 'Char
8testdata/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 @@
1value1 = 'a' :: Char
2
3value2='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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesig02.lc 1:17-1:21 Type
4testdata/language-features/basic-values/typesig02.lc 1:10-1:13 'Char
5testdata/language-features/basic-values/typesig02.lc 3:13-3:17 Type
6testdata/language-features/basic-values/typesig02.lc 3:8-3:11 'Char
7testdata/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 @@
1fun1 :: a -> b -> c -> ()
2fun1 x y z = ()
3
4fun2::a->b->c->()
5fun2 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 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesig03.lc 1:9-1:26 Type
4testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V5
5testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V4
6testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V3
7testdata/language-features/basic-values/typesig03.lc 1:24-1:26 Type
8testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
9testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> V2 -> a -> b->'Tuple0
10testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> V2 -> V2 -> a->'Tuple0
11testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2 -> V2 -> V2->'Tuple0
12testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2 -> V2->'Tuple0
13testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2->'Tuple0
14testdata/language-features/basic-values/typesig03.lc 2:14-2:16 'Tuple0
15testdata/language-features/basic-values/typesig03.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
16testdata/language-features/basic-values/typesig03.lc 4:7-4:18 Type
17testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V5
18testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V4
19testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V3
20testdata/language-features/basic-values/typesig03.lc 4:16-4:18 Type
21testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
22testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> V2 -> a -> b->'Tuple0
23testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> V2 -> V2 -> a->'Tuple0
24testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2 -> V2 -> V2->'Tuple0
25testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2 -> V2->'Tuple0
26testdata/language-features/basic-values/typesig03.lc 5:14-5:16 V2->'Tuple0
27testdata/language-features/basic-values/typesig03.lc 5:14-5:16 'Tuple0
28testdata/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 @@
1module Hello01 where
2
3hello = "hello"
4world = "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 @@
1main is not found
2tooltips:
3testdata/language-features/module/Hello01.lc 3:9-3:16 'String
4testdata/language-features/module/Hello01.lc 3:1-3:6 'String
5testdata/language-features/module/Hello01.lc 4:9-4:16 'String
6testdata/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 @@
1module Hello02 (hello) where
2
3hello = "hello"
4world = "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 @@
1module Hello03
2 ( module Hello01
3 , greeting
4 ) where
5import Hello01
6
7greeting = 'G'
8
9value = 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 @@
1main is not found
2tooltips:
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):
2unexpected end of input
3expecting "(" 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):
2unexpected "w"
3expecting uppercase ident
4uppercase 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 @@
1module moduledef04
2
3hello = "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):
2unexpected "h"
3expecting uppercase ident
4uppercase 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 @@
1module Moduledef05
2
3hello = "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):
2unexpected "h"
3expecting "(" 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 @@
1module Moduledef06 where
2
3hello = "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 @@
1main is not found
2tooltips:
3testdata/language-features/module/Moduledef06.lc 3:9-3:16 'String
4testdata/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 @@
1module
2 Moduledef07
3 where
4
5hello = "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 @@
1main is not found
2tooltips:
3testdata/language-features/module/Moduledef07.lc 5:9-5:16 'String
4testdata/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 @@
1module
2 Moduledef01()
3 where
4
5hello = "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 @@
1main is not found
2tooltips:
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 @@
1module
2 Moduledef09(hello)
3 where
4
5hello = "hello"
6world = "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 @@
1module Moduledef10
2 ( hello
3 , world
4 ) where
5
6hello = "hello"
7world = "world"
8
9value = ()
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):
2unexpected "1"
3expecting 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):
2unexpected "&"
3expecting 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 @@
1module Moduledef13 (module Moduledef13) where
2
3hello = "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 @@
1main is not found
2tooltips:
3testdata/language-features/module/Moduledef13.lc 3:9-3:16 'String
4testdata/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 @@
1import Hello01
2
3x = 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 @@
1main is not found
2tooltips:
3testdata/language-features/module/import01.lc 3:5-3:10 'String
4testdata/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 @@
1import Hello01
2
3-- refer to undefined function
4x = 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 @@
1can't find: hello2 in "testdata/language-features/module/import02.reject.lc" (line 4, column 5):
2x = 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 @@
1import Hello02
2
3x = 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 @@
1import Hello01
2
3-- redefine hello
4hello = "hello"
5x = '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 @@
1import Hello01
2
3x :: String
4x = 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 @@
1main is not found
2tooltips:
3testdata/language-features/module/import05.lc 3:6-3:12 Type
4testdata/language-features/module/import05.lc 4:5-4:10 'String
5testdata/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 @@
1import Hello01(world)
2
3hello = ()
4x = 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 @@
1main is not found
2tooltips:
3testdata/language-features/module/import06.lc 3:9-3:11 'Tuple0
4testdata/language-features/module/import06.lc 3:1-3:6 'Tuple0
5testdata/language-features/module/import06.lc 4:5-4:10 'String
6testdata/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 @@
1import Hello01 hiding (hello)
2
3hello = ()
4x = 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 @@
1main is not found
2tooltips:
3testdata/language-features/module/import07.lc 3:9-3:11 'Tuple0
4testdata/language-features/module/import07.lc 3:1-3:6 'Tuple0
5testdata/language-features/module/import07.lc 4:5-4:10 'String
6testdata/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 @@
1import Hello03
2
3value = ()
4
5g :: Char
6g = greeting
7
8h :: String
9h = hello
10
11w :: String
12w = world \ No newline at end of file