summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/language-features/HINT23
-rw-r--r--testdata/language-features/basic-list/listcomp01.lc1
-rw-r--r--testdata/language-features/basic-list/listcomp01.out11
-rw-r--r--testdata/language-features/basic-list/listcomp02.lc2
-rw-r--r--testdata/language-features/basic-list/listcomp02.out13
-rw-r--r--testdata/language-features/basic-list/listcomp03.lc1
-rw-r--r--testdata/language-features/basic-list/listcomp03.out13
-rw-r--r--testdata/language-features/basic-list/listcomp04.lc2
-rw-r--r--testdata/language-features/basic-list/listcomp04.out15
-rw-r--r--testdata/language-features/basic-list/listcomp05.lc1
-rw-r--r--testdata/language-features/basic-list/listcomp05.out9
-rw-r--r--testdata/language-features/basic-list/listcomp06.lc3
-rw-r--r--testdata/language-features/basic-list/listcomp06.out19
-rw-r--r--testdata/language-features/basic-list/listcomp07.lc20
-rw-r--r--testdata/language-features/basic-list/listcomp07.out31
-rw-r--r--testdata/language-features/basic-list/listcomp08.reject.lc1
-rw-r--r--testdata/language-features/basic-list/listcomp08.reject.out8
-rw-r--r--testdata/language-features/basic-values/infix01.lc3
-rw-r--r--testdata/language-features/basic-values/infix01.out9
-rw-r--r--testdata/language-features/basic-values/infix02.lc3
-rw-r--r--testdata/language-features/basic-values/infix02.out9
-rw-r--r--testdata/language-features/basic-values/infix03.lc6
-rw-r--r--testdata/language-features/basic-values/infix03.out25
-rw-r--r--testdata/language-features/basic-values/infix04.reject.lc3
-rw-r--r--testdata/language-features/basic-values/infix04.reject.out3
-rw-r--r--testdata/language-features/basic-values/typesig04.lc6
-rw-r--r--testdata/language-features/basic-values/typesig04.out18
-rw-r--r--testdata/language-features/basic-values/typesyn01.lc1
-rw-r--r--testdata/language-features/basic-values/typesyn01.out4
-rw-r--r--testdata/language-features/basic-values/typesyn02.lc4
-rw-r--r--testdata/language-features/basic-values/typesyn02.out11
-rw-r--r--testdata/language-features/basic-values/typesyn03.reject.wip.lc2
-rw-r--r--testdata/language-features/basic-values/typesyn04.reject.wip.lc5
-rw-r--r--testdata/language-features/module/TypeSyn01.lc2
-rw-r--r--testdata/language-features/module/TypeSyn01.out4
-rw-r--r--testdata/language-features/module/import09.lc4
-rw-r--r--testdata/language-features/module/import09.out9
-rw-r--r--testdata/language-features/module/import10.reject.wip.lc3
-rw-r--r--testdata/language-features/module/import11.reject.wip.lc6
-rw-r--r--testdata/language-features/pattern/pattern01.wip.lc12
-rw-r--r--testdata/language-features/recursion/simplerec01.lc2
-rw-r--r--testdata/language-features/recursion/simplerec01.out7
42 files changed, 330 insertions, 4 deletions
diff --git a/testdata/language-features/HINT b/testdata/language-features/HINT
index ffcdd9ba..6df96760 100644
--- a/testdata/language-features/HINT
+++ b/testdata/language-features/HINT
@@ -30,7 +30,14 @@ language features:
30 done - if then else 30 done - if then else
31 done - lambda expression 31 done - lambda expression
32 done - case of 32 done - case of
33 type signature - global, local, forall, hidden parameters, type parameters, wildcard, context 33 type signature
34 done - global
35 done - local
36 done - type parameters
37 forall
38 hidden parameters
39 wildcard
40 context
34 patterns 41 patterns
35 guards - in expressions 42 guards - in expressions
36 done - def 43 done - def
@@ -38,14 +45,22 @@ language features:
38 where 45 where
39 case of 46 case of
40 done - basic list - :[] [,,] 47 done - basic list - :[] [,,]
41 list comprehension 48 done - list comprehension
42 done - operators 49 done - operators
43 fixity 50 fixity
44 `infix` notation 51 done - `infix` notation
45 where - in value, in expressions 52 where - in value, in expressions
53 global def
54 let
55 nested where
56 patterns
46 57
47 done - definition order 58 done - definition order
48 recursion 59 simple recursion
60 done - def
61 let in
62 where
63 case of
49 mutual recursion - vary def order, vary on def placing (insert other code between mutual rec functions" 64 mutual recursion - vary def order, vary on def placing (insert other code between mutual rec functions"
50 65
51 data GADT and ADT 66 data GADT and ADT
diff --git a/testdata/language-features/basic-list/listcomp01.lc b/testdata/language-features/basic-list/listcomp01.lc
new file mode 100644
index 00000000..791a275a
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp01.lc
@@ -0,0 +1 @@
value = [() | x <- [(),(),(),()]]
diff --git a/testdata/language-features/basic-list/listcomp01.out b/testdata/language-features/basic-list/listcomp01.out
new file mode 100644
index 00000000..9b7b2dd2
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp01.out
@@ -0,0 +1,11 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp01.lc 1:9-1:34 'List 'Tuple0
4testdata/language-features/basic-list/listcomp01.lc 1:10-1:12 'List 'Tuple0 | 'Tuple0 | V1 -> 'List V1
5testdata/language-features/basic-list/listcomp01.lc 1:20-1:33 'List 'Tuple0
6testdata/language-features/basic-list/listcomp01.lc 1:21-1:23 'Tuple0
7testdata/language-features/basic-list/listcomp01.lc 1:24-1:26 'Tuple0
8testdata/language-features/basic-list/listcomp01.lc 1:24-1:32 'List 'Tuple0
9testdata/language-features/basic-list/listcomp01.lc 1:27-1:29 'Tuple0
10testdata/language-features/basic-list/listcomp01.lc 1:27-1:32 'List 'Tuple0
11testdata/language-features/basic-list/listcomp01.lc 1:30-1:32 'List 'Tuple0 | 'Tuple0
diff --git a/testdata/language-features/basic-list/listcomp02.lc b/testdata/language-features/basic-list/listcomp02.lc
new file mode 100644
index 00000000..02672458
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp02.lc
@@ -0,0 +1,2 @@
1l = [(),(),(),()]
2value = [x | x <- l]
diff --git a/testdata/language-features/basic-list/listcomp02.out b/testdata/language-features/basic-list/listcomp02.out
new file mode 100644
index 00000000..3e0d8acb
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp02.out
@@ -0,0 +1,13 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp02.lc 1:5-1:18 'List 'Tuple0
4testdata/language-features/basic-list/listcomp02.lc 1:6-1:8 'Tuple0
5testdata/language-features/basic-list/listcomp02.lc 1:9-1:11 'Tuple0
6testdata/language-features/basic-list/listcomp02.lc 1:9-1:17 'List 'Tuple0
7testdata/language-features/basic-list/listcomp02.lc 1:12-1:14 'Tuple0
8testdata/language-features/basic-list/listcomp02.lc 1:12-1:17 'List 'Tuple0
9testdata/language-features/basic-list/listcomp02.lc 1:15-1:17 'List 'Tuple0 | 'Tuple0
10testdata/language-features/basic-list/listcomp02.lc 2:1-2:6 'List 'Tuple0
11testdata/language-features/basic-list/listcomp02.lc 2:9-2:21 'List 'Tuple0
12testdata/language-features/basic-list/listcomp02.lc 2:10-2:11 'List V2 | V1 -> 'List V1 | V3
13testdata/language-features/basic-list/listcomp02.lc 2:19-2:20 'List 'Tuple0
diff --git a/testdata/language-features/basic-list/listcomp03.lc b/testdata/language-features/basic-list/listcomp03.lc
new file mode 100644
index 00000000..ca8f8b8d
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp03.lc
@@ -0,0 +1 @@
value = [() | _ <- [(),(),(),()], False]
diff --git a/testdata/language-features/basic-list/listcomp03.out b/testdata/language-features/basic-list/listcomp03.out
new file mode 100644
index 00000000..40a5b5da
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp03.out
@@ -0,0 +1,13 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp03.lc 1:9-1:41 'List 'Tuple0
4testdata/language-features/basic-list/listcomp03.lc 1:10-1:12 'List 'Tuple0 | 'Tuple0
5testdata/language-features/basic-list/listcomp03.lc 1:10-1:40 'List 'Tuple0 | 'List 'Tuple0 -> 'List 'Tuple0 | V1 -> 'List V1
6testdata/language-features/basic-list/listcomp03.lc 1:20-1:33 'List 'Tuple0
7testdata/language-features/basic-list/listcomp03.lc 1:21-1:23 'Tuple0
8testdata/language-features/basic-list/listcomp03.lc 1:24-1:26 'Tuple0
9testdata/language-features/basic-list/listcomp03.lc 1:24-1:32 'List 'Tuple0
10testdata/language-features/basic-list/listcomp03.lc 1:27-1:29 'Tuple0
11testdata/language-features/basic-list/listcomp03.lc 1:27-1:32 'List 'Tuple0
12testdata/language-features/basic-list/listcomp03.lc 1:30-1:32 'List 'Tuple0 | 'Tuple0
13testdata/language-features/basic-list/listcomp03.lc 1:35-1:40 'Bool
diff --git a/testdata/language-features/basic-list/listcomp04.lc b/testdata/language-features/basic-list/listcomp04.lc
new file mode 100644
index 00000000..7caa105b
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp04.lc
@@ -0,0 +1,2 @@
1l = [(),(),(),()]
2value = [() | x <- l, _ <- l]
diff --git a/testdata/language-features/basic-list/listcomp04.out b/testdata/language-features/basic-list/listcomp04.out
new file mode 100644
index 00000000..a404757c
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp04.out
@@ -0,0 +1,15 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp04.lc 1:5-1:18 'List 'Tuple0
4testdata/language-features/basic-list/listcomp04.lc 1:6-1:8 'Tuple0
5testdata/language-features/basic-list/listcomp04.lc 1:9-1:11 'Tuple0
6testdata/language-features/basic-list/listcomp04.lc 1:9-1:17 'List 'Tuple0
7testdata/language-features/basic-list/listcomp04.lc 1:12-1:14 'Tuple0
8testdata/language-features/basic-list/listcomp04.lc 1:12-1:17 'List 'Tuple0
9testdata/language-features/basic-list/listcomp04.lc 1:15-1:17 'List 'Tuple0 | 'Tuple0
10testdata/language-features/basic-list/listcomp04.lc 2:1-2:6 'List 'Tuple0
11testdata/language-features/basic-list/listcomp04.lc 2:9-2:30 'List 'Tuple0
12testdata/language-features/basic-list/listcomp04.lc 2:10-2:12 'List 'Tuple0 | 'Tuple0 | V1 -> 'List V1
13testdata/language-features/basic-list/listcomp04.lc 2:10-2:29 'List 'Tuple0 | V1 -> 'List V1
14testdata/language-features/basic-list/listcomp04.lc 2:20-2:21 'List 'Tuple0
15testdata/language-features/basic-list/listcomp04.lc 2:28-2:29 'List 'Tuple0
diff --git a/testdata/language-features/basic-list/listcomp05.lc b/testdata/language-features/basic-list/listcomp05.lc
new file mode 100644
index 00000000..a3278ba1
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp05.lc
@@ -0,0 +1 @@
value = [u | x <- [(),()], let u = ()]
diff --git a/testdata/language-features/basic-list/listcomp05.out b/testdata/language-features/basic-list/listcomp05.out
new file mode 100644
index 00000000..e55133c8
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp05.out
@@ -0,0 +1,9 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp05.lc 1:9-1:39 'List 'Tuple0
4testdata/language-features/basic-list/listcomp05.lc 1:10-1:11 V2
5testdata/language-features/basic-list/listcomp05.lc 1:10-1:38 'List 'Tuple0 | V1 -> 'List V1
6testdata/language-features/basic-list/listcomp05.lc 1:19-1:26 'List 'Tuple0
7testdata/language-features/basic-list/listcomp05.lc 1:20-1:22 'Tuple0
8testdata/language-features/basic-list/listcomp05.lc 1:23-1:25 'List 'Tuple0 | 'Tuple0
9testdata/language-features/basic-list/listcomp05.lc 1:36-1:38 'Tuple0
diff --git a/testdata/language-features/basic-list/listcomp06.lc b/testdata/language-features/basic-list/listcomp06.lc
new file mode 100644
index 00000000..dc85f1c0
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp06.lc
@@ -0,0 +1,3 @@
1value1 = [u | x <- [(),()], let u = (), True]
2
3value2 = [u | x <- [(),()], True, let u = ()]
diff --git a/testdata/language-features/basic-list/listcomp06.out b/testdata/language-features/basic-list/listcomp06.out
new file mode 100644
index 00000000..4ad8ef4e
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp06.out
@@ -0,0 +1,19 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp06.lc 1:10-1:46 'List 'Tuple0
4testdata/language-features/basic-list/listcomp06.lc 1:11-1:12 'List V2 | V3
5testdata/language-features/basic-list/listcomp06.lc 1:11-1:45 'List 'Tuple0 | 'List V1 -> 'List V2 | V1 -> 'List V1
6testdata/language-features/basic-list/listcomp06.lc 1:20-1:27 'List 'Tuple0
7testdata/language-features/basic-list/listcomp06.lc 1:21-1:23 'Tuple0
8testdata/language-features/basic-list/listcomp06.lc 1:24-1:26 'List 'Tuple0 | 'Tuple0
9testdata/language-features/basic-list/listcomp06.lc 1:37-1:39 'Tuple0
10testdata/language-features/basic-list/listcomp06.lc 1:41-1:45 'Bool
11testdata/language-features/basic-list/listcomp06.lc 3:1-3:7 'List 'Tuple0
12testdata/language-features/basic-list/listcomp06.lc 3:10-3:46 'List 'Tuple0
13testdata/language-features/basic-list/listcomp06.lc 3:11-3:12 V2
14testdata/language-features/basic-list/listcomp06.lc 3:11-3:45 'List 'Tuple0 | V1 -> 'List V1
15testdata/language-features/basic-list/listcomp06.lc 3:20-3:27 'List 'Tuple0
16testdata/language-features/basic-list/listcomp06.lc 3:21-3:23 'Tuple0
17testdata/language-features/basic-list/listcomp06.lc 3:24-3:26 'List 'Tuple0 | 'Tuple0
18testdata/language-features/basic-list/listcomp06.lc 3:29-3:33 'Bool
19testdata/language-features/basic-list/listcomp06.lc 3:43-3:45 'Tuple0
diff --git a/testdata/language-features/basic-list/listcomp07.lc b/testdata/language-features/basic-list/listcomp07.lc
new file mode 100644
index 00000000..255392c6
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp07.lc
@@ -0,0 +1,20 @@
1value1 = [ u
2 | x <- [(),()]
3 , let u = ()
4 , True
5 , let v = u
6 ]
7
8value2 = [ u | x <- [(),()]
9 , let u = ()
10 , True
11 , let v = u
12 ]
13
14value3 = [ u
15 | x <- [(),()]
16 , let
17 u = ()
18 , True
19 , let v = u
20 ]
diff --git a/testdata/language-features/basic-list/listcomp07.out b/testdata/language-features/basic-list/listcomp07.out
new file mode 100644
index 00000000..9634d711
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp07.out
@@ -0,0 +1,31 @@
1main is not found
2tooltips:
3testdata/language-features/basic-list/listcomp07.lc 1:10-6:11 'List 'Tuple0
4testdata/language-features/basic-list/listcomp07.lc 1:12-1:13 V5
5testdata/language-features/basic-list/listcomp07.lc 1:12-5:21 'List 'Tuple0 | 'List V1 | V1 -> 'List V1
6testdata/language-features/basic-list/listcomp07.lc 2:17-2:24 'List 'Tuple0
7testdata/language-features/basic-list/listcomp07.lc 2:18-2:20 'Tuple0
8testdata/language-features/basic-list/listcomp07.lc 2:21-2:23 'List 'Tuple0 | 'Tuple0
9testdata/language-features/basic-list/listcomp07.lc 3:20-3:22 'Tuple0
10testdata/language-features/basic-list/listcomp07.lc 4:12-4:16 'Bool
11testdata/language-features/basic-list/listcomp07.lc 5:20-5:21 V2
12testdata/language-features/basic-list/listcomp07.lc 8:1-8:7 'List 'Tuple0
13testdata/language-features/basic-list/listcomp07.lc 8:10-12:11 'List 'Tuple0
14testdata/language-features/basic-list/listcomp07.lc 8:12-8:13 V5
15testdata/language-features/basic-list/listcomp07.lc 8:12-11:21 'List 'Tuple0 | 'List V1 | V1 -> 'List V1
16testdata/language-features/basic-list/listcomp07.lc 8:21-8:28 'List 'Tuple0
17testdata/language-features/basic-list/listcomp07.lc 8:22-8:24 'Tuple0
18testdata/language-features/basic-list/listcomp07.lc 8:25-8:27 'List 'Tuple0 | 'Tuple0
19testdata/language-features/basic-list/listcomp07.lc 9:20-9:22 'Tuple0
20testdata/language-features/basic-list/listcomp07.lc 10:12-10:16 'Bool
21testdata/language-features/basic-list/listcomp07.lc 11:20-11:21 V2
22testdata/language-features/basic-list/listcomp07.lc 14:1-14:7 'List 'Tuple0
23testdata/language-features/basic-list/listcomp07.lc 14:10-20:3 'List 'Tuple0
24testdata/language-features/basic-list/listcomp07.lc 14:12-14:13 V5
25testdata/language-features/basic-list/listcomp07.lc 14:12-19:15 'List 'Tuple0 | 'List V1 | V1 -> 'List V1
26testdata/language-features/basic-list/listcomp07.lc 15:15-15:22 'List 'Tuple0
27testdata/language-features/basic-list/listcomp07.lc 15:16-15:18 'Tuple0
28testdata/language-features/basic-list/listcomp07.lc 15:19-15:21 'List 'Tuple0 | 'Tuple0
29testdata/language-features/basic-list/listcomp07.lc 17:6-17:8 'Tuple0
30testdata/language-features/basic-list/listcomp07.lc 18:7-18:11 'Bool
31testdata/language-features/basic-list/listcomp07.lc 19:14-19:15 V2
diff --git a/testdata/language-features/basic-list/listcomp08.reject.lc b/testdata/language-features/basic-list/listcomp08.reject.lc
new file mode 100644
index 00000000..83475d92
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp08.reject.lc
@@ -0,0 +1 @@
value = [x | x <- [], "not Bool"]
diff --git a/testdata/language-features/basic-list/listcomp08.reject.out b/testdata/language-features/basic-list/listcomp08.reject.out
new file mode 100644
index 00000000..5cbde7ed
--- /dev/null
+++ b/testdata/language-features/basic-list/listcomp08.reject.out
@@ -0,0 +1,8 @@
1type error: can not unify
2'Bool
3with
4'String
5
6in "testdata/language-features/basic-list/listcomp08.reject.lc" (line 1, column 23):
7value = [x | x <- [], "not Bool"]
8 ^^^^^^^^^^
diff --git a/testdata/language-features/basic-values/infix01.lc b/testdata/language-features/basic-values/infix01.lc
new file mode 100644
index 00000000..9f5938cf
--- /dev/null
+++ b/testdata/language-features/basic-values/infix01.lc
@@ -0,0 +1,3 @@
1fun a b = ()
2
3value a b = a `fun` b
diff --git a/testdata/language-features/basic-values/infix01.out b/testdata/language-features/basic-values/infix01.out
new file mode 100644
index 00000000..4ca79fa5
--- /dev/null
+++ b/testdata/language-features/basic-values/infix01.out
@@ -0,0 +1,9 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/infix01.lc 1:11-1:13 'Tuple0
4testdata/language-features/basic-values/infix01.lc 3:1-3:6 {a} -> {b} -> a -> b->'Tuple0
5testdata/language-features/basic-values/infix01.lc 3:13-3:14 V5
6testdata/language-features/basic-values/infix01.lc 3:13-3:20 V0->'Tuple0
7testdata/language-features/basic-values/infix01.lc 3:13-3:22 'Tuple0
8testdata/language-features/basic-values/infix01.lc 3:15-3:20 {a} -> {b} -> a -> b->'Tuple0
9testdata/language-features/basic-values/infix01.lc 3:21-3:22 V2
diff --git a/testdata/language-features/basic-values/infix02.lc b/testdata/language-features/basic-values/infix02.lc
new file mode 100644
index 00000000..834d0430
--- /dev/null
+++ b/testdata/language-features/basic-values/infix02.lc
@@ -0,0 +1,3 @@
1fun a b c = ()
2
3value a b = a `fun` b
diff --git a/testdata/language-features/basic-values/infix02.out b/testdata/language-features/basic-values/infix02.out
new file mode 100644
index 00000000..b5ff8415
--- /dev/null
+++ b/testdata/language-features/basic-values/infix02.out
@@ -0,0 +1,9 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/infix02.lc 1:13-1:15 'Tuple0
4testdata/language-features/basic-values/infix02.lc 3:1-3:6 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
5testdata/language-features/basic-values/infix02.lc 3:13-3:14 V6
6testdata/language-features/basic-values/infix02.lc 3:13-3:20 V1 -> V1->'Tuple0
7testdata/language-features/basic-values/infix02.lc 3:13-3:22 V0->'Tuple0
8testdata/language-features/basic-values/infix02.lc 3:15-3:20 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
9testdata/language-features/basic-values/infix02.lc 3:21-3:22 V3
diff --git a/testdata/language-features/basic-values/infix03.lc b/testdata/language-features/basic-values/infix03.lc
new file mode 100644
index 00000000..9526a254
--- /dev/null
+++ b/testdata/language-features/basic-values/infix03.lc
@@ -0,0 +1,6 @@
1data D = D2 () ()
2 | D3 () () ()
3
4d2 a b = a `D2` b
5
6d3 a b = a `D3` b
diff --git a/testdata/language-features/basic-values/infix03.out b/testdata/language-features/basic-values/infix03.out
new file mode 100644
index 00000000..52825833
--- /dev/null
+++ b/testdata/language-features/basic-values/infix03.out
@@ -0,0 +1,25 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/infix03.lc 1:6-1:7 Type
4testdata/language-features/basic-values/infix03.lc 1:6-1:18 Type
5testdata/language-features/basic-values/infix03.lc 1:6-2:12 Type
6testdata/language-features/basic-values/infix03.lc 1:6-2:21 Type
7testdata/language-features/basic-values/infix03.lc 1:10-1:12 'D | 'Tuple0 -> 'Tuple0->'D | Type
8testdata/language-features/basic-values/infix03.lc 1:13-1:15 Type
9testdata/language-features/basic-values/infix03.lc 1:16-1:18 Type
10testdata/language-features/basic-values/infix03.lc 2:10-2:12 'D | 'Tuple0 -> 'Tuple0 -> 'Tuple0->'D | Type
11testdata/language-features/basic-values/infix03.lc 2:13-2:15 Type
12testdata/language-features/basic-values/infix03.lc 2:16-2:18 Type
13testdata/language-features/basic-values/infix03.lc 2:19-2:21 Type
14testdata/language-features/basic-values/infix03.lc 4:1-4:3 'Tuple0 -> 'Tuple0->'D
15testdata/language-features/basic-values/infix03.lc 4:10-4:11 V3
16testdata/language-features/basic-values/infix03.lc 4:10-4:16 'Tuple0->'D
17testdata/language-features/basic-values/infix03.lc 4:10-4:18 'D
18testdata/language-features/basic-values/infix03.lc 4:12-4:16 'Tuple0 -> 'Tuple0->'D
19testdata/language-features/basic-values/infix03.lc 4:17-4:18 V1
20testdata/language-features/basic-values/infix03.lc 6:1-6:3 'Tuple0 -> 'Tuple0 -> 'Tuple0->'D
21testdata/language-features/basic-values/infix03.lc 6:10-6:11 V3
22testdata/language-features/basic-values/infix03.lc 6:10-6:16 'Tuple0 -> 'Tuple0->'D
23testdata/language-features/basic-values/infix03.lc 6:10-6:18 'Tuple0->'D
24testdata/language-features/basic-values/infix03.lc 6:12-6:16 'Tuple0 -> 'Tuple0 -> 'Tuple0->'D
25testdata/language-features/basic-values/infix03.lc 6:17-6:18 V1
diff --git a/testdata/language-features/basic-values/infix04.reject.lc b/testdata/language-features/basic-values/infix04.reject.lc
new file mode 100644
index 00000000..d93261d7
--- /dev/null
+++ b/testdata/language-features/basic-values/infix04.reject.lc
@@ -0,0 +1,3 @@
1fun1 a b c = ()
2
3fun2 a b = a `fun1()` b
diff --git a/testdata/language-features/basic-values/infix04.reject.out b/testdata/language-features/basic-values/infix04.reject.out
new file mode 100644
index 00000000..4880e065
--- /dev/null
+++ b/testdata/language-features/basic-values/infix04.reject.out
@@ -0,0 +1,3 @@
1"testdata/language-features/basic-values/infix04.reject.lc" (line 3, column 19):
2unexpected "("
3expecting backquoted \ No newline at end of file
diff --git a/testdata/language-features/basic-values/typesig04.lc b/testdata/language-features/basic-values/typesig04.lc
new file mode 100644
index 00000000..b06a8369
--- /dev/null
+++ b/testdata/language-features/basic-values/typesig04.lc
@@ -0,0 +1,6 @@
1fun1 :: a -> (b -> c) -> ()
2fun1 x z = ()
3
4fun2::a->(b->c)->()
5fun2 x z = ()
6
diff --git a/testdata/language-features/basic-values/typesig04.out b/testdata/language-features/basic-values/typesig04.out
new file mode 100644
index 00000000..05c6883b
--- /dev/null
+++ b/testdata/language-features/basic-values/typesig04.out
@@ -0,0 +1,18 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesig04.lc 1:9-1:10 V5
4testdata/language-features/basic-values/typesig04.lc 1:9-1:28 Type
5testdata/language-features/basic-values/typesig04.lc 1:14-1:28 Type
6testdata/language-features/basic-values/typesig04.lc 1:15-1:16 V4
7testdata/language-features/basic-values/typesig04.lc 1:20-1:21 Type | V3
8testdata/language-features/basic-values/typesig04.lc 1:26-1:28 Type
9testdata/language-features/basic-values/typesig04.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b->c -> 'Tuple0
10testdata/language-features/basic-values/typesig04.lc 2:12-2:14 'Tuple0 | V2 -> V2->V2 -> 'Tuple0 | V2->V2 -> 'Tuple0
11testdata/language-features/basic-values/typesig04.lc 4:7-4:8 V5
12testdata/language-features/basic-values/typesig04.lc 4:7-4:20 Type
13testdata/language-features/basic-values/typesig04.lc 4:10-4:20 Type
14testdata/language-features/basic-values/typesig04.lc 4:11-4:12 V4
15testdata/language-features/basic-values/typesig04.lc 4:14-4:15 Type | V3
16testdata/language-features/basic-values/typesig04.lc 4:18-4:20 Type
17testdata/language-features/basic-values/typesig04.lc 5:1-5:5 {a} -> {b} -> {c} -> a -> b->c -> 'Tuple0
18testdata/language-features/basic-values/typesig04.lc 5:12-5:14 'Tuple0 | V2 -> V2->V2 -> 'Tuple0 | V2->V2 -> 'Tuple0
diff --git a/testdata/language-features/basic-values/typesyn01.lc b/testdata/language-features/basic-values/typesyn01.lc
new file mode 100644
index 00000000..39471e30
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn01.lc
@@ -0,0 +1 @@
type MyUnit = ()
diff --git a/testdata/language-features/basic-values/typesyn01.out b/testdata/language-features/basic-values/typesyn01.out
new file mode 100644
index 00000000..abfb0c51
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn01.out
@@ -0,0 +1,4 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesyn01.lc 1:6-1:12 Type
4testdata/language-features/basic-values/typesyn01.lc 1:15-1:17 Type
diff --git a/testdata/language-features/basic-values/typesyn02.lc b/testdata/language-features/basic-values/typesyn02.lc
new file mode 100644
index 00000000..151ab092
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn02.lc
@@ -0,0 +1,4 @@
1type MyUnit = ()
2
3fun :: a -> MyUnit -> MyUnit
4fun x () = ()
diff --git a/testdata/language-features/basic-values/typesyn02.out b/testdata/language-features/basic-values/typesyn02.out
new file mode 100644
index 00000000..8850167f
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn02.out
@@ -0,0 +1,11 @@
1main is not found
2tooltips:
3testdata/language-features/basic-values/typesyn02.lc 1:6-1:12 Type
4testdata/language-features/basic-values/typesyn02.lc 1:15-1:17 Type
5testdata/language-features/basic-values/typesyn02.lc 3:8-3:9 V1
6testdata/language-features/basic-values/typesyn02.lc 3:8-3:29 Type
7testdata/language-features/basic-values/typesyn02.lc 3:13-3:19 Type
8testdata/language-features/basic-values/typesyn02.lc 3:13-3:29 Type
9testdata/language-features/basic-values/typesyn02.lc 3:23-3:29 Type
10testdata/language-features/basic-values/typesyn02.lc 4:1-4:4 {a} -> a -> 'Tuple0->'Tuple0
11testdata/language-features/basic-values/typesyn02.lc 4:12-4:14 'Tuple0 | 'Tuple0->'Tuple0 | V0 -> 'Tuple0->'Tuple0
diff --git a/testdata/language-features/basic-values/typesyn03.reject.wip.lc b/testdata/language-features/basic-values/typesyn03.reject.wip.lc
new file mode 100644
index 00000000..6e95e6f6
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn03.reject.wip.lc
@@ -0,0 +1,2 @@
1type MyUnit = ()
2type MyUnit = ()
diff --git a/testdata/language-features/basic-values/typesyn04.reject.wip.lc b/testdata/language-features/basic-values/typesyn04.reject.wip.lc
new file mode 100644
index 00000000..cda6908d
--- /dev/null
+++ b/testdata/language-features/basic-values/typesyn04.reject.wip.lc
@@ -0,0 +1,5 @@
1type MyUnit = ()
2type MyUnit = ()
3
4fun :: a -> MyUnit -> MyUnit
5fun x () = ()
diff --git a/testdata/language-features/module/TypeSyn01.lc b/testdata/language-features/module/TypeSyn01.lc
new file mode 100644
index 00000000..ed4686ff
--- /dev/null
+++ b/testdata/language-features/module/TypeSyn01.lc
@@ -0,0 +1,2 @@
1module TypeSyn01 where
2type MyUnit = ()
diff --git a/testdata/language-features/module/TypeSyn01.out b/testdata/language-features/module/TypeSyn01.out
new file mode 100644
index 00000000..1e1a07f0
--- /dev/null
+++ b/testdata/language-features/module/TypeSyn01.out
@@ -0,0 +1,4 @@
1main is not found
2tooltips:
3testdata/language-features/module/TypeSyn01.lc 2:6-2:12 Type
4testdata/language-features/module/TypeSyn01.lc 2:15-2:17 Type
diff --git a/testdata/language-features/module/import09.lc b/testdata/language-features/module/import09.lc
new file mode 100644
index 00000000..d69a61bd
--- /dev/null
+++ b/testdata/language-features/module/import09.lc
@@ -0,0 +1,4 @@
1import TypeSyn01
2
3fun :: a -> MyUnit -> MyUnit
4fun x () = ()
diff --git a/testdata/language-features/module/import09.out b/testdata/language-features/module/import09.out
new file mode 100644
index 00000000..a15ac80e
--- /dev/null
+++ b/testdata/language-features/module/import09.out
@@ -0,0 +1,9 @@
1main is not found
2tooltips:
3testdata/language-features/module/import09.lc 3:8-3:9 V1
4testdata/language-features/module/import09.lc 3:8-3:29 Type
5testdata/language-features/module/import09.lc 3:13-3:19 Type
6testdata/language-features/module/import09.lc 3:13-3:29 Type
7testdata/language-features/module/import09.lc 3:23-3:29 Type
8testdata/language-features/module/import09.lc 4:1-4:4 {a} -> a -> 'Tuple0->'Tuple0
9testdata/language-features/module/import09.lc 4:12-4:14 'Tuple0 | 'Tuple0->'Tuple0 | V0 -> 'Tuple0->'Tuple0
diff --git a/testdata/language-features/module/import10.reject.wip.lc b/testdata/language-features/module/import10.reject.wip.lc
new file mode 100644
index 00000000..1ef15d48
--- /dev/null
+++ b/testdata/language-features/module/import10.reject.wip.lc
@@ -0,0 +1,3 @@
1import TypeSyn01
2
3type MyUnit = ()
diff --git a/testdata/language-features/module/import11.reject.wip.lc b/testdata/language-features/module/import11.reject.wip.lc
new file mode 100644
index 00000000..55f45cd2
--- /dev/null
+++ b/testdata/language-features/module/import11.reject.wip.lc
@@ -0,0 +1,6 @@
1import TypeSyn01
2
3type MyUnit = ()
4
5fun :: a -> MyUnit -> MyUnit
6fun x () = ()
diff --git a/testdata/language-features/pattern/pattern01.wip.lc b/testdata/language-features/pattern/pattern01.wip.lc
new file mode 100644
index 00000000..3d1c02e5
--- /dev/null
+++ b/testdata/language-features/pattern/pattern01.wip.lc
@@ -0,0 +1,12 @@
1fun1 0 = '0'
2fun1 _ = '_'
3
4fun2 "0" = '0'
5fun2 _ = '_'
6
7fun3 '0' = '0'
8fun3 _ = '_'
9
10fun4 () = '0'
11fun4 _ = '_'
12
diff --git a/testdata/language-features/recursion/simplerec01.lc b/testdata/language-features/recursion/simplerec01.lc
new file mode 100644
index 00000000..26f69541
--- /dev/null
+++ b/testdata/language-features/recursion/simplerec01.lc
@@ -0,0 +1,2 @@
1fun 0 = 'a'
2fun _ = fun 0
diff --git a/testdata/language-features/recursion/simplerec01.out b/testdata/language-features/recursion/simplerec01.out
new file mode 100644
index 00000000..7d1e88e7
--- /dev/null
+++ b/testdata/language-features/recursion/simplerec01.out
@@ -0,0 +1,7 @@
1main is not found
2tooltips:
3testdata/language-features/recursion/simplerec01.lc 1:9-1:12 'Char
4testdata/language-features/recursion/simplerec01.lc 1:9-2:14 'Char -> 'Ordering->'Char | V0->V1
5testdata/language-features/recursion/simplerec01.lc 2:9-2:12 V1->'Char | V4
6testdata/language-features/recursion/simplerec01.lc 2:9-2:14 'Char
7testdata/language-features/recursion/simplerec01.lc 2:13-2:14 V1