summaryrefslogtreecommitdiff
path: root/testdata/language-features/adt
diff options
context:
space:
mode:
Diffstat (limited to 'testdata/language-features/adt')
-rw-r--r--testdata/language-features/adt/adt01.out76
-rw-r--r--testdata/language-features/adt/adt02.out134
-rw-r--r--testdata/language-features/adt/adt02.reject.out32
-rw-r--r--testdata/language-features/adt/adt03.reject.out6
-rw-r--r--testdata/language-features/adt/adt04.reject.out6
-rw-r--r--testdata/language-features/adt/adt05.out74
-rw-r--r--testdata/language-features/adt/gadt01.out242
-rw-r--r--testdata/language-features/adt/gadt01.reject.out6
-rw-r--r--testdata/language-features/adt/gadt03.reject.out42
-rw-r--r--testdata/language-features/adt/gadt04.reject.out68
10 files changed, 343 insertions, 343 deletions
diff --git a/testdata/language-features/adt/adt01.out b/testdata/language-features/adt/adt01.out
index bd69397e..36f684b5 100644
--- a/testdata/language-features/adt/adt01.out
+++ b/testdata/language-features/adt/adt01.out
@@ -108,80 +108,80 @@ match'Zero = \a b c d -> <<type case function>>
108value1 :: OneBool 108value1 :: OneBool
109value1 = _rhs (OneBool True) 109value1 = _rhs (OneBool True)
110------------ tooltips 110------------ tooltips
111testdata/language-features/adt/adt01.lc 1:6-1:10 111adt01.lc 1:6-1:10
112 Type | Type | Type | Type 112 Type | Type | Type | Type
113testdata/language-features/adt/adt01.lc 3:6-3:10 113adt01.lc 3:6-3:10
114 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type 114 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type
115testdata/language-features/adt/adt01.lc 3:6-3:12 115adt01.lc 3:6-3:12
116 Type | Type 116 Type | Type
117testdata/language-features/adt/adt01.lc 3:6-3:19 117adt01.lc 3:6-3:19
118 Type | Type 118 Type | Type
119testdata/language-features/adt/adt01.lc 3:6-3:21 119adt01.lc 3:6-3:21
120 Type 120 Type
121testdata/language-features/adt/adt01.lc 3:11-3:12 121adt01.lc 3:11-3:12
122 Type 122 Type
123testdata/language-features/adt/adt01.lc 3:15-3:19 123adt01.lc 3:15-3:19
124 forall a . a -> One1 a | One1 _c | Type | Type 124 forall a . a -> One1 a | One1 _c | Type | Type
125testdata/language-features/adt/adt01.lc 3:20-3:21 125adt01.lc 3:20-3:21
126 Type 126 Type
127testdata/language-features/adt/adt01.lc 5:6-5:12 127adt01.lc 5:6-5:12
128 Type | Type | Type | Type | Type | Type 128 Type | Type | Type | Type | Type | Type
129testdata/language-features/adt/adt01.lc 5:6-5:19 129adt01.lc 5:6-5:19
130 Type 130 Type
131testdata/language-features/adt/adt01.lc 5:15-5:19 131adt01.lc 5:15-5:19
132 Int -> OneInt | OneInt | Type | Type 132 Int -> OneInt | OneInt | Type | Type
133testdata/language-features/adt/adt01.lc 5:20-5:23 133adt01.lc 5:20-5:23
134 Type 134 Type
135testdata/language-features/adt/adt01.lc 7:6-7:13 135adt01.lc 7:6-7:13
136 Type | Type | Type | Type | Type | Type 136 Type | Type | Type | Type | Type | Type
137testdata/language-features/adt/adt01.lc 7:6-7:23 137adt01.lc 7:6-7:23
138 Type 138 Type
139testdata/language-features/adt/adt01.lc 7:16-7:23 139adt01.lc 7:16-7:23
140 Bool -> OneBool | OneBool | Type | Type 140 Bool -> OneBool | OneBool | Type | Type
141testdata/language-features/adt/adt01.lc 7:24-7:28 141adt01.lc 7:24-7:28
142 Type 142 Type
143testdata/language-features/adt/adt01.lc 9:6-9:9 143adt01.lc 9:6-9:9
144 Type -> Type -> Type | Type -> Type -> Type | Type -> Type -> Type | Type 144 Type -> Type -> Type | Type -> Type -> Type | Type -> Type -> Type | Type
145 -> Type -> Type | Type -> Type -> Type | Type 145 -> Type -> Type | Type -> Type -> Type | Type
146testdata/language-features/adt/adt01.lc 9:6-9:11 146adt01.lc 9:6-9:11
147 Type -> Type | Type -> Type 147 Type -> Type | Type -> Type
148testdata/language-features/adt/adt01.lc 9:6-9:13 148adt01.lc 9:6-9:13
149 Type | Type | Type | Type 149 Type | Type | Type | Type
150testdata/language-features/adt/adt01.lc 9:6-10:11 150adt01.lc 9:6-10:11
151 Type | Type 151 Type | Type
152testdata/language-features/adt/adt01.lc 9:6-11:9 152adt01.lc 9:6-11:9
153 Type | Type | Type | Type 153 Type | Type | Type | Type
154testdata/language-features/adt/adt01.lc 9:6-11:11 154adt01.lc 9:6-11:11
155 Type | Type 155 Type | Type
156testdata/language-features/adt/adt01.lc 9:10-9:11 156adt01.lc 9:10-9:11
157 Type | Type 157 Type | Type
158testdata/language-features/adt/adt01.lc 9:12-9:13 158adt01.lc 9:12-9:13
159 Type | Type 159 Type | Type
160testdata/language-features/adt/adt01.lc 10:5-10:9 160adt01.lc 10:5-10:9
161 forall a b . a -> Two a b | Two _d _c | Type | Type 161 forall a b . a -> Two a b | Two _d _c | Type | Type
162testdata/language-features/adt/adt01.lc 10:10-10:11 162adt01.lc 10:10-10:11
163 Type 163 Type
164testdata/language-features/adt/adt01.lc 11:5-11:9 164adt01.lc 11:5-11:9
165 forall a b . b -> Two a b | Two _e _d | Type | Type 165 forall a b . b -> Two a b | Two _e _d | Type | Type
166testdata/language-features/adt/adt01.lc 11:10-11:11 166adt01.lc 11:10-11:11
167 Type 167 Type
168testdata/language-features/adt/adt01.lc 13:1-13:7 168adt01.lc 13:1-13:7
169 OneBool 169 OneBool
170testdata/language-features/adt/adt01.lc 13:10-13:17 170adt01.lc 13:10-13:17
171 Bool -> OneBool 171 Bool -> OneBool
172testdata/language-features/adt/adt01.lc 13:10-13:22 172adt01.lc 13:10-13:22
173 OneBool 173 OneBool
174testdata/language-features/adt/adt01.lc 13:18-13:22 174adt01.lc 13:18-13:22
175 Bool 175 Bool
176testdata/language-features/adt/adt01.lc 15:1-15:2 176adt01.lc 15:1-15:2
177 OneBool -> Bool 177 OneBool -> Bool
178testdata/language-features/adt/adt01.lc 15:17-15:18 178adt01.lc 15:17-15:18
179 Bool 179 Bool
180testdata/language-features/adt/adt01.lc 17:1-17:5 180adt01.lc 17:1-17:5
181 Bool 181 Bool
182testdata/language-features/adt/adt01.lc 17:8-17:9 182adt01.lc 17:8-17:9
183 OneBool -> Bool 183 OneBool -> Bool
184testdata/language-features/adt/adt01.lc 17:8-17:16 184adt01.lc 17:8-17:16
185 Bool 185 Bool
186testdata/language-features/adt/adt01.lc 17:10-17:16 186adt01.lc 17:10-17:16
187 OneBool \ No newline at end of file 187 OneBool \ No newline at end of file
diff --git a/testdata/language-features/adt/adt02.out b/testdata/language-features/adt/adt02.out
index 992c314e..8145446b 100644
--- a/testdata/language-features/adt/adt02.out
+++ b/testdata/language-features/adt/adt02.out
@@ -149,141 +149,141 @@ value2 = _rhs (Data2 True "friend" True)
149value3 :: Data3 Bool Bool Bool 149value3 :: Data3 Bool Bool Bool
150value3 = _rhs (Data3 True True True) 150value3 = _rhs (Data3 True True True)
151------------ tooltips 151------------ tooltips
152testdata/language-features/adt/adt02.lc 1:6-1:11 152adt02.lc 1:6-1:11
153 Type | Type | Type | Type | Type | Type 153 Type | Type | Type | Type | Type | Type
154testdata/language-features/adt/adt02.lc 1:6-1:19 154adt02.lc 1:6-1:19
155 Type 155 Type
156testdata/language-features/adt/adt02.lc 1:14-1:19 156adt02.lc 1:14-1:19
157 Bool -> Data1 | Data1 | Type | Type 157 Bool -> Data1 | Data1 | Type | Type
158testdata/language-features/adt/adt02.lc 1:22-1:26 158adt02.lc 1:22-1:26
159 Data1 -> Bool 159 Data1 -> Bool
160testdata/language-features/adt/adt02.lc 1:30-1:34 160adt02.lc 1:30-1:34
161 Type 161 Type
162testdata/language-features/adt/adt02.lc 3:6-3:11 162adt02.lc 3:6-3:11
163 Type | Type | Type | Type | Type | Type 163 Type | Type | Type | Type | Type | Type
164testdata/language-features/adt/adt02.lc 3:6-3:19 164adt02.lc 3:6-3:19
165 Type 165 Type
166testdata/language-features/adt/adt02.lc 3:6-6:17 166adt02.lc 3:6-6:17
167 Type | Type 167 Type | Type
168testdata/language-features/adt/adt02.lc 3:14-3:19 168adt02.lc 3:14-3:19
169 Bool -> String -> Bool -> Data2 | Data2 | Type | Type | Type | Type 169 Bool -> String -> Bool -> Data2 | Data2 | Type | Type | Type | Type
170testdata/language-features/adt/adt02.lc 4:5-4:9 170adt02.lc 4:5-4:9
171 Data2 -> Bool 171 Data2 -> Bool
172testdata/language-features/adt/adt02.lc 4:13-4:17 172adt02.lc 4:13-4:17
173 Type 173 Type
174testdata/language-features/adt/adt02.lc 5:5-5:9 174adt02.lc 5:5-5:9
175 Data2 -> String 175 Data2 -> String
176testdata/language-features/adt/adt02.lc 5:13-5:19 176adt02.lc 5:13-5:19
177 Type 177 Type
178testdata/language-features/adt/adt02.lc 6:5-6:9 178adt02.lc 6:5-6:9
179 Data2 -> Bool 179 Data2 -> Bool
180testdata/language-features/adt/adt02.lc 6:13-6:17 180adt02.lc 6:13-6:17
181 Type 181 Type
182testdata/language-features/adt/adt02.lc 9:1-9:7 182adt02.lc 9:1-9:7
183 Data1 183 Data1
184testdata/language-features/adt/adt02.lc 9:10-9:15 184adt02.lc 9:10-9:15
185 Bool -> Data1 185 Bool -> Data1
186testdata/language-features/adt/adt02.lc 9:10-9:20 186adt02.lc 9:10-9:20
187 Data1 187 Data1
188testdata/language-features/adt/adt02.lc 9:16-9:20 188adt02.lc 9:16-9:20
189 Bool 189 Bool
190testdata/language-features/adt/adt02.lc 10:1-10:7 190adt02.lc 10:1-10:7
191 Data2 191 Data2
192testdata/language-features/adt/adt02.lc 10:10-10:15 192adt02.lc 10:10-10:15
193 Bool -> String -> Bool -> Data2 193 Bool -> String -> Bool -> Data2
194testdata/language-features/adt/adt02.lc 10:10-10:20 194adt02.lc 10:10-10:20
195 String -> Bool -> Data2 195 String -> Bool -> Data2
196testdata/language-features/adt/adt02.lc 10:10-10:29 196adt02.lc 10:10-10:29
197 Bool -> Data2 197 Bool -> Data2
198testdata/language-features/adt/adt02.lc 10:10-10:34 198adt02.lc 10:10-10:34
199 Data2 199 Data2
200testdata/language-features/adt/adt02.lc 10:16-10:20 200adt02.lc 10:16-10:20
201 Bool 201 Bool
202testdata/language-features/adt/adt02.lc 10:21-10:29 202adt02.lc 10:21-10:29
203 String 203 String
204testdata/language-features/adt/adt02.lc 10:30-10:34 204adt02.lc 10:30-10:34
205 Bool 205 Bool
206testdata/language-features/adt/adt02.lc 12:6-12:11 206adt02.lc 12:6-12:11
207 Type -> Type -> Type -> Type | Type -> Type -> Type -> Type | Type 207 Type -> Type -> Type -> Type | Type -> Type -> Type -> Type | Type
208 -> Type -> Type -> Type | Type -> Type -> Type -> Type | Type 208 -> Type -> Type -> Type | Type -> Type -> Type -> Type | Type
209testdata/language-features/adt/adt02.lc 12:6-12:13 209adt02.lc 12:6-12:13
210 Type -> Type -> Type 210 Type -> Type -> Type
211testdata/language-features/adt/adt02.lc 12:6-12:15 211adt02.lc 12:6-12:15
212 Type -> Type 212 Type -> Type
213testdata/language-features/adt/adt02.lc 12:6-12:17 213adt02.lc 12:6-12:17
214 Type | Type 214 Type | Type
215testdata/language-features/adt/adt02.lc 12:6-12:25 215adt02.lc 12:6-12:25
216 Type | Type | Type | Type 216 Type | Type | Type | Type
217testdata/language-features/adt/adt02.lc 12:6-15:14 217adt02.lc 12:6-15:14
218 Type | Type | Type | Type | Type 218 Type | Type | Type | Type | Type
219testdata/language-features/adt/adt02.lc 12:12-12:13 219adt02.lc 12:12-12:13
220 Type 220 Type
221testdata/language-features/adt/adt02.lc 12:14-12:15 221adt02.lc 12:14-12:15
222 Type 222 Type
223testdata/language-features/adt/adt02.lc 12:16-12:17 223adt02.lc 12:16-12:17
224 Type 224 Type
225testdata/language-features/adt/adt02.lc 12:20-12:25 225adt02.lc 12:20-12:25
226 forall a b c . a -> b -> c -> Data3 a b c | Data3 226 forall a b c . a -> b -> c -> Data3 a b c | Data3
227 _g 227 _g
228 _f 228 _f
229 _e | Type | Type | Type | Type 229 _e | Type | Type | Type | Type
230testdata/language-features/adt/adt02.lc 13:5-13:9 230adt02.lc 13:5-13:9
231 forall a b c . Data3 a b c -> a 231 forall a b c . Data3 a b c -> a
232testdata/language-features/adt/adt02.lc 13:13-13:14 232adt02.lc 13:13-13:14
233 Type 233 Type
234testdata/language-features/adt/adt02.lc 14:5-14:9 234adt02.lc 14:5-14:9
235 forall a b c . Data3 a b c -> b 235 forall a b c . Data3 a b c -> b
236testdata/language-features/adt/adt02.lc 14:13-14:14 236adt02.lc 14:13-14:14
237 Type 237 Type
238testdata/language-features/adt/adt02.lc 15:5-15:9 238adt02.lc 15:5-15:9
239 forall a b c . Data3 a b c -> c 239 forall a b c . Data3 a b c -> c
240testdata/language-features/adt/adt02.lc 15:13-15:14 240adt02.lc 15:13-15:14
241 Type 241 Type
242testdata/language-features/adt/adt02.lc 18:1-18:7 242adt02.lc 18:1-18:7
243 Data3 Bool Bool Bool 243 Data3 Bool Bool Bool
244testdata/language-features/adt/adt02.lc 18:10-18:15 244adt02.lc 18:10-18:15
245 forall a b c . a -> b -> c -> Data3 a b c 245 forall a b c . a -> b -> c -> Data3 a b c
246testdata/language-features/adt/adt02.lc 18:10-18:20 246adt02.lc 18:10-18:20
247 _b -> _a -> Data3 Bool _b _a 247 _b -> _a -> Data3 Bool _b _a
248testdata/language-features/adt/adt02.lc 18:10-18:25 248adt02.lc 18:10-18:25
249 _a -> Data3 Bool Bool _a 249 _a -> Data3 Bool Bool _a
250testdata/language-features/adt/adt02.lc 18:10-18:30 250adt02.lc 18:10-18:30
251 Data3 Bool Bool Bool 251 Data3 Bool Bool Bool
252testdata/language-features/adt/adt02.lc 18:16-18:20 252adt02.lc 18:16-18:20
253 Bool 253 Bool
254testdata/language-features/adt/adt02.lc 18:21-18:25 254adt02.lc 18:21-18:25
255 Bool 255 Bool
256testdata/language-features/adt/adt02.lc 18:26-18:30 256adt02.lc 18:26-18:30
257 Bool 257 Bool
258testdata/language-features/adt/adt02.lc 20:1-20:5 258adt02.lc 20:1-20:5
259 Bool 259 Bool
260testdata/language-features/adt/adt02.lc 20:8-20:12 260adt02.lc 20:8-20:12
261 Data2 -> Bool 261 Data2 -> Bool
262testdata/language-features/adt/adt02.lc 20:8-20:19 262adt02.lc 20:8-20:19
263 Bool 263 Bool
264testdata/language-features/adt/adt02.lc 20:8-20:22 264adt02.lc 20:8-20:22
265 Bool -> Bool 265 Bool -> Bool
266testdata/language-features/adt/adt02.lc 20:8-20:49 266adt02.lc 20:8-20:49
267 Bool 267 Bool
268testdata/language-features/adt/adt02.lc 20:13-20:19 268adt02.lc 20:13-20:19
269 Data2 269 Data2
270testdata/language-features/adt/adt02.lc 20:20-20:22 270adt02.lc 20:20-20:22
271 Bool -> Bool -> Bool 271 Bool -> Bool -> Bool
272testdata/language-features/adt/adt02.lc 20:23-20:27 272adt02.lc 20:23-20:27
273 Data2 -> Bool 273 Data2 -> Bool
274testdata/language-features/adt/adt02.lc 20:23-20:34 274adt02.lc 20:23-20:34
275 Bool 275 Bool
276testdata/language-features/adt/adt02.lc 20:23-20:37 276adt02.lc 20:23-20:37
277 Bool -> Bool 277 Bool -> Bool
278testdata/language-features/adt/adt02.lc 20:23-20:49 278adt02.lc 20:23-20:49
279 Bool 279 Bool
280testdata/language-features/adt/adt02.lc 20:28-20:34 280adt02.lc 20:28-20:34
281 Data2 281 Data2
282testdata/language-features/adt/adt02.lc 20:35-20:37 282adt02.lc 20:35-20:37
283 Bool -> Bool -> Bool 283 Bool -> Bool -> Bool
284testdata/language-features/adt/adt02.lc 20:38-20:42 284adt02.lc 20:38-20:42
285 forall a b c . Data3 a b c -> a 285 forall a b c . Data3 a b c -> a
286testdata/language-features/adt/adt02.lc 20:38-20:49 286adt02.lc 20:38-20:49
287 Bool 287 Bool
288testdata/language-features/adt/adt02.lc 20:43-20:49 288adt02.lc 20:43-20:49
289 Data3 Bool Bool Bool \ No newline at end of file 289 Data3 Bool Bool Bool \ No newline at end of file
diff --git a/testdata/language-features/adt/adt02.reject.out b/testdata/language-features/adt/adt02.reject.out
index 789edbde..4df48b2c 100644
--- a/testdata/language-features/adt/adt02.reject.out
+++ b/testdata/language-features/adt/adt02.reject.out
@@ -1,9 +1,9 @@
1type error: can not unify 1type error: can not unify
2 /home/divip/.cabal/share/x86_64-linux-ghc-7.10.3/lambdacube-compiler-0.6.0.0/lc/Internals.lc:63:6: 2 'Internals.lc:63:6:
3 data Bool = False | True 3 data Bool = False | True
4 ^^^^ 4 ^^^^
5with 5with
6 /home/divip/.cabal/share/x86_64-linux-ghc-7.10.3/lambdacube-compiler-0.6.0.0/lc/Internals.lc:58:6: 6 'Internals.lc:58:6:
7 data Int 7 data Int
8 ^^^ 8 ^^^
9in proj 9in proj
@@ -18,36 +18,36 @@ case'Data3
18 -> forall (h :: Data3) -> a h 18 -> forall (h :: Data3) -> a h
19match'Data3 :: forall (a :: Type -> Type) -> a Data3 -> forall b -> a b -> a b 19match'Data3 :: forall (a :: Type -> Type) -> a Data3 -> forall b -> a b -> a b
20!type error: can not unify 20!type error: can not unify
21 /home/divip/.cabal/share/x86_64-linux-ghc-7.10.3/lambdacube-compiler-0.6.0.0/lc/Internals.lc:63:6: 21 'Internals.lc:63:6:
22 data Bool = False | True 22 data Bool = False | True
23 ^^^^ 23 ^^^^
24with 24with
25 /home/divip/.cabal/share/x86_64-linux-ghc-7.10.3/lambdacube-compiler-0.6.0.0/lc/Internals.lc:58:6: 25 'Internals.lc:58:6:
26 data Int 26 data Int
27 ^^^ 27 ^^^
28in proj 28in proj
29------------ tooltips 29------------ tooltips
30testdata/language-features/adt/adt02.reject.lc 2:6-2:11 30adt02.reject.lc 2:6-2:11
31 Type | Type | Type | Type | Type | Type | Type | Type 31 Type | Type | Type | Type | Type | Type | Type | Type
32testdata/language-features/adt/adt02.reject.lc 2:6-5:25 32adt02.reject.lc 2:6-5:25
33 Type | Type 33 Type | Type
34testdata/language-features/adt/adt02.reject.lc 2:6-7:11 34adt02.reject.lc 2:6-7:11
35 Type | Type 35 Type | Type
36testdata/language-features/adt/adt02.reject.lc 2:6-10:20 36adt02.reject.lc 2:6-10:20
37 Type | Type 37 Type | Type
38testdata/language-features/adt/adt02.reject.lc 3:5-3:10 38adt02.reject.lc 3:5-3:10
39 Bool -> Char -> Bool -> Data3 | Data3 | Type | Type | Type | Type 39 Bool -> Char -> Bool -> Data3 | Data3 | Type | Type | Type | Type
40testdata/language-features/adt/adt02.reject.lc 3:21-3:25 40adt02.reject.lc 3:21-3:25
41 Type 41 Type
42testdata/language-features/adt/adt02.reject.lc 4:21-4:25 42adt02.reject.lc 4:21-4:25
43 Type 43 Type
44testdata/language-features/adt/adt02.reject.lc 5:21-5:25 44adt02.reject.lc 5:21-5:25
45 Type 45 Type
46testdata/language-features/adt/adt02.reject.lc 7:5-7:11 46adt02.reject.lc 7:5-7:11
47 Int -> String -> Int -> Data3 | Data3 | Type | Type | Type | Type 47 Int -> String -> Int -> Data3 | Data3 | Type | Type | Type | Type
48testdata/language-features/adt/adt02.reject.lc 8:17-8:20 48adt02.reject.lc 8:17-8:20
49 Type 49 Type
50testdata/language-features/adt/adt02.reject.lc 9:17-9:23 50adt02.reject.lc 9:17-9:23
51 Type 51 Type
52testdata/language-features/adt/adt02.reject.lc 10:17-10:20 52adt02.reject.lc 10:17-10:20
53 Type \ No newline at end of file 53 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/adt03.reject.out b/testdata/language-features/adt/adt03.reject.out
index d579a3d5..4296561e 100644
--- a/testdata/language-features/adt/adt03.reject.out
+++ b/testdata/language-features/adt/adt03.reject.out
@@ -1,11 +1,11 @@
1can't find: a in testdata/language-features/adt/adt03.reject.lc:2:20: 1can't find: a in adt03.reject.lc:2:20:
2data Data3 = Data3 a b c 2data Data3 = Data3 a b c
3 ^ 3 ^
4------------ trace 4------------ trace
5'Data3 :: Type 5'Data3 :: Type
6!can't find: a in testdata/language-features/adt/adt03.reject.lc:2:20: 6!can't find: a in adt03.reject.lc:2:20:
7data Data3 = Data3 a b c 7data Data3 = Data3 a b c
8 ^ 8 ^
9------------ tooltips 9------------ tooltips
10testdata/language-features/adt/adt03.reject.lc 2:6-2:11 10adt03.reject.lc 2:6-2:11
11 Type \ No newline at end of file 11 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/adt04.reject.out b/testdata/language-features/adt/adt04.reject.out
index 0dd18b2f..5a605902 100644
--- a/testdata/language-features/adt/adt04.reject.out
+++ b/testdata/language-features/adt/adt04.reject.out
@@ -1,11 +1,11 @@
1can't find: a in testdata/language-features/adt/adt04.reject.lc:2:27: 1can't find: a in adt04.reject.lc:2:27:
2data Data3 = Data3 { x :: a , y :: b , z :: c } 2data Data3 = Data3 { x :: a , y :: b , z :: c }
3 ^ 3 ^
4------------ trace 4------------ trace
5'Data3 :: Type 5'Data3 :: Type
6!can't find: a in testdata/language-features/adt/adt04.reject.lc:2:27: 6!can't find: a in adt04.reject.lc:2:27:
7data Data3 = Data3 { x :: a , y :: b , z :: c } 7data Data3 = Data3 { x :: a , y :: b , z :: c }
8 ^ 8 ^
9------------ tooltips 9------------ tooltips
10testdata/language-features/adt/adt04.reject.lc 2:6-2:11 10adt04.reject.lc 2:6-2:11
11 Type \ No newline at end of file 11 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/adt05.out b/testdata/language-features/adt/adt05.out
index aed76869..5e37e669 100644
--- a/testdata/language-features/adt/adt05.out
+++ b/testdata/language-features/adt/adt05.out
@@ -66,77 +66,77 @@ value1 = _rhs TEmpty
66value2 :: forall a . Num a => TList a 66value2 :: forall a . Num a => TList a
67value2 = \a b -> _rhs (TCons (fromInt a b 3) TEmpty) 67value2 = \a b -> _rhs (TCons (fromInt a b 3) TEmpty)
68------------ tooltips 68------------ tooltips
69testdata/language-features/adt/adt05.lc 3:6-3:11 69adt05.lc 3:6-3:11
70 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type 70 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type
71testdata/language-features/adt/adt05.lc 3:6-3:13 71adt05.lc 3:6-3:13
72 Type | Type | Type | Type 72 Type | Type | Type | Type
73testdata/language-features/adt/adt05.lc 3:6-3:30 73adt05.lc 3:6-3:30
74 Type | Type | Type 74 Type | Type | Type
75testdata/language-features/adt/adt05.lc 3:6-3:42 75adt05.lc 3:6-3:42
76 Type | Type 76 Type | Type
77testdata/language-features/adt/adt05.lc 3:12-3:13 77adt05.lc 3:12-3:13
78 Type | Type 78 Type | Type
79testdata/language-features/adt/adt05.lc 3:16-3:22 79adt05.lc 3:16-3:22
80 forall a . TList a | TList _b 80 forall a . TList a | TList _b
81testdata/language-features/adt/adt05.lc 3:25-3:30 81adt05.lc 3:25-3:30
82 forall a . a -> TList a -> TList a | TList _e | Type | Type | Type 82 forall a . a -> TList a -> TList a | TList _e | Type | Type | Type
83testdata/language-features/adt/adt05.lc 3:31-3:32 83adt05.lc 3:31-3:32
84 Type 84 Type
85testdata/language-features/adt/adt05.lc 3:34-3:39 85adt05.lc 3:34-3:39
86 Type -> Type 86 Type -> Type
87testdata/language-features/adt/adt05.lc 3:34-3:41 87adt05.lc 3:34-3:41
88 Type 88 Type
89testdata/language-features/adt/adt05.lc 3:40-3:41 89adt05.lc 3:40-3:41
90 Type 90 Type
91testdata/language-features/adt/adt05.lc 5:1-5:7 91adt05.lc 5:1-5:7
92 forall a . TList a 92 forall a . TList a
93testdata/language-features/adt/adt05.lc 5:10-5:16 93adt05.lc 5:10-5:16
94 forall a . TList a 94 forall a . TList a
95testdata/language-features/adt/adt05.lc 6:1-6:7 95adt05.lc 6:1-6:7
96 forall a . Num a => TList a 96 forall a . Num a => TList a
97testdata/language-features/adt/adt05.lc 6:10-6:15 97adt05.lc 6:10-6:15
98 forall a . a -> TList a -> TList a 98 forall a . a -> TList a -> TList a
99testdata/language-features/adt/adt05.lc 6:10-6:17 99adt05.lc 6:10-6:17
100 TList _b -> TList _b 100 TList _b -> TList _b
101testdata/language-features/adt/adt05.lc 6:10-6:24 101adt05.lc 6:10-6:24
102 TList _b 102 TList _b
103testdata/language-features/adt/adt05.lc 6:16-6:17 103adt05.lc 6:16-6:17
104 _b 104 _b
105testdata/language-features/adt/adt05.lc 6:18-6:24 105adt05.lc 6:18-6:24
106 forall a . TList a 106 forall a . TList a
107testdata/language-features/adt/adt05.lc 8:1-8:8 107adt05.lc 8:1-8:8
108 forall a . TList a -> Bool 108 forall a . TList a -> Bool
109testdata/language-features/adt/adt05.lc 8:18-8:22 109adt05.lc 8:18-8:22
110 Bool 110 Bool
111testdata/language-features/adt/adt05.lc 8:18-9:23 111adt05.lc 8:18-9:23
112 TList _a -> Bool 112 TList _a -> Bool
113testdata/language-features/adt/adt05.lc 9:18-9:23 113adt05.lc 9:18-9:23
114 Bool 114 Bool
115testdata/language-features/adt/adt05.lc 11:1-11:7 115adt05.lc 11:1-11:7
116 forall a . TList a -> Bool 116 forall a . TList a -> Bool
117testdata/language-features/adt/adt05.lc 11:22-11:26 117adt05.lc 11:22-11:26
118 Bool 118 Bool
119testdata/language-features/adt/adt05.lc 11:22-12:27 119adt05.lc 11:22-12:27
120 TList _a -> Bool 120 TList _a -> Bool
121testdata/language-features/adt/adt05.lc 12:22-12:27 121adt05.lc 12:22-12:27
122 Bool 122 Bool
123testdata/language-features/adt/adt05.lc 14:1-14:5 123adt05.lc 14:1-14:5
124 @Type -> forall a . Num a => Bool 124 @Type -> forall a . Num a => Bool
125testdata/language-features/adt/adt05.lc 14:8-14:15 125adt05.lc 14:8-14:15
126 forall a . TList a -> Bool 126 forall a . TList a -> Bool
127testdata/language-features/adt/adt05.lc 14:8-14:22 127adt05.lc 14:8-14:22
128 Bool 128 Bool
129testdata/language-features/adt/adt05.lc 14:8-14:25 129adt05.lc 14:8-14:25
130 Bool -> Bool 130 Bool -> Bool
131testdata/language-features/adt/adt05.lc 14:8-14:39 131adt05.lc 14:8-14:39
132 Bool 132 Bool
133testdata/language-features/adt/adt05.lc 14:16-14:22 133adt05.lc 14:16-14:22
134 forall a . TList a 134 forall a . TList a
135testdata/language-features/adt/adt05.lc 14:23-14:25 135adt05.lc 14:23-14:25
136 Bool -> Bool -> Bool 136 Bool -> Bool -> Bool
137testdata/language-features/adt/adt05.lc 14:26-14:32 137adt05.lc 14:26-14:32
138 forall a . TList a -> Bool 138 forall a . TList a -> Bool
139testdata/language-features/adt/adt05.lc 14:26-14:39 139adt05.lc 14:26-14:39
140 Bool 140 Bool
141testdata/language-features/adt/adt05.lc 14:33-14:39 141adt05.lc 14:33-14:39
142 forall a . Num a => TList a \ No newline at end of file 142 forall a . Num a => TList a \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt01.out b/testdata/language-features/adt/gadt01.out
index 5c850279..a88a5bec 100644
--- a/testdata/language-features/adt/gadt01.out
+++ b/testdata/language-features/adt/gadt01.out
@@ -125,252 +125,252 @@ value2 = _rhs (Value2 True "s")
125value3 :: M3 Bool "t" 125value3 :: M3 Bool "t"
126value3 = _rhs (Value3 "t" True) 126value3 = _rhs (Value3 "t" True)
127------------ tooltips 127------------ tooltips
128testdata/language-features/adt/gadt01.lc 2:6-2:7 128gadt01.lc 2:6-2:7
129 Nat -> Type -> Type | Nat -> Type -> Type | Type | Type | Nat 129 Nat -> Type -> Type | Nat -> Type -> Type | Type | Type | Nat
130 -> Type -> Type | Type | Type | Type 130 -> Type -> Type | Type | Type | Type
131testdata/language-features/adt/gadt01.lc 2:6-4:25 131gadt01.lc 2:6-4:25
132 Type | Type 132 Type | Type
133testdata/language-features/adt/gadt01.lc 2:11-2:14 133gadt01.lc 2:11-2:14
134 Type 134 Type
135testdata/language-features/adt/gadt01.lc 2:18-2:22 135gadt01.lc 2:18-2:22
136 Type 136 Type
137testdata/language-features/adt/gadt01.lc 2:18-2:30 137gadt01.lc 2:18-2:30
138 Type 138 Type
139testdata/language-features/adt/gadt01.lc 2:26-2:30 139gadt01.lc 2:26-2:30
140 Type | Type 140 Type | Type
141testdata/language-features/adt/gadt01.lc 3:3-3:6 141gadt01.lc 3:3-3:6
142 forall a . a -> V 1 a | V 1 _b 142 forall a . a -> V 1 a | V 1 _b
143testdata/language-features/adt/gadt01.lc 3:3-3:20 143gadt01.lc 3:3-3:20
144 Type | Type | Type 144 Type | Type | Type
145testdata/language-features/adt/gadt01.lc 3:10-3:11 145gadt01.lc 3:10-3:11
146 _b 146 _b
147testdata/language-features/adt/gadt01.lc 3:10-3:20 147gadt01.lc 3:10-3:20
148 Type 148 Type
149testdata/language-features/adt/gadt01.lc 3:15-3:16 149gadt01.lc 3:15-3:16
150 Nat -> Type -> Type 150 Nat -> Type -> Type
151testdata/language-features/adt/gadt01.lc 3:15-3:18 151gadt01.lc 3:15-3:18
152 Type -> Type 152 Type -> Type
153testdata/language-features/adt/gadt01.lc 3:15-3:20 153gadt01.lc 3:15-3:20
154 Type | Type 154 Type | Type
155testdata/language-features/adt/gadt01.lc 3:17-3:18 155gadt01.lc 3:17-3:18
156 _b | _b 156 _b | _b
157testdata/language-features/adt/gadt01.lc 3:17-3:20 157gadt01.lc 3:17-3:20
158 V 1 _b -> Type 158 V 1 _b -> Type
159testdata/language-features/adt/gadt01.lc 3:19-3:20 159gadt01.lc 3:19-3:20
160 Type | Type 160 Type | Type
161testdata/language-features/adt/gadt01.lc 4:3-4:6 161gadt01.lc 4:3-4:6
162 forall a . a -> a -> V 2 a | V 2 _c 162 forall a . a -> a -> V 2 a | V 2 _c
163testdata/language-features/adt/gadt01.lc 4:3-4:25 163gadt01.lc 4:3-4:25
164 Type | Type | Type | Type 164 Type | Type | Type | Type
165testdata/language-features/adt/gadt01.lc 4:10-4:11 165gadt01.lc 4:10-4:11
166 _b 166 _b
167testdata/language-features/adt/gadt01.lc 4:10-4:25 167gadt01.lc 4:10-4:25
168 Type 168 Type
169testdata/language-features/adt/gadt01.lc 4:15-4:16 169gadt01.lc 4:15-4:16
170 Type 170 Type
171testdata/language-features/adt/gadt01.lc 4:15-4:25 171gadt01.lc 4:15-4:25
172 Type 172 Type
173testdata/language-features/adt/gadt01.lc 4:20-4:21 173gadt01.lc 4:20-4:21
174 Nat -> Type -> Type 174 Nat -> Type -> Type
175testdata/language-features/adt/gadt01.lc 4:20-4:23 175gadt01.lc 4:20-4:23
176 Type -> Type 176 Type -> Type
177testdata/language-features/adt/gadt01.lc 4:20-4:25 177gadt01.lc 4:20-4:25
178 Type | Type 178 Type | Type
179testdata/language-features/adt/gadt01.lc 4:22-4:23 179gadt01.lc 4:22-4:23
180 _b | _b 180 _b | _b
181testdata/language-features/adt/gadt01.lc 4:22-4:25 181gadt01.lc 4:22-4:25
182 V 2 _c -> Type 182 V 2 _c -> Type
183testdata/language-features/adt/gadt01.lc 4:24-4:25 183gadt01.lc 4:24-4:25
184 Type | Type 184 Type | Type
185testdata/language-features/adt/gadt01.lc 6:6-6:7 185gadt01.lc 6:6-6:7
186 Type -> String -> Type | Type -> String -> Type | Type | Type | Type 186 Type -> String -> Type | Type -> String -> Type | Type | Type | Type
187 -> String -> Type | Type | Type | Type 187 -> String -> Type | Type | Type | Type
188testdata/language-features/adt/gadt01.lc 6:6-7:33 188gadt01.lc 6:6-7:33
189 Type 189 Type
190testdata/language-features/adt/gadt01.lc 6:11-6:15 190gadt01.lc 6:11-6:15
191 Type 191 Type
192testdata/language-features/adt/gadt01.lc 6:19-6:25 192gadt01.lc 6:19-6:25
193 Type 193 Type
194testdata/language-features/adt/gadt01.lc 6:19-6:33 194gadt01.lc 6:19-6:33
195 Type 195 Type
196testdata/language-features/adt/gadt01.lc 6:29-6:33 196gadt01.lc 6:29-6:33
197 Type | Type 197 Type | Type
198testdata/language-features/adt/gadt01.lc 7:3-7:8 198gadt01.lc 7:3-7:8
199 forall a . a -> forall (b :: String) . M a b | M _c _a 199 forall a . a -> forall (b :: String) . M a b | M _c _a
200testdata/language-features/adt/gadt01.lc 7:3-7:33 200gadt01.lc 7:3-7:33
201 Type | Type | Type | Type 201 Type | Type | Type | Type
202testdata/language-features/adt/gadt01.lc 7:12-7:13 202gadt01.lc 7:12-7:13
203 _b 203 _b
204testdata/language-features/adt/gadt01.lc 7:12-7:33 204gadt01.lc 7:12-7:33
205 Type 205 Type
206testdata/language-features/adt/gadt01.lc 7:17-7:33 206gadt01.lc 7:17-7:33
207 Type 207 Type
208testdata/language-features/adt/gadt01.lc 7:28-7:29 208gadt01.lc 7:28-7:29
209 Type -> String -> Type 209 Type -> String -> Type
210testdata/language-features/adt/gadt01.lc 7:28-7:31 210gadt01.lc 7:28-7:31
211 String -> Type 211 String -> Type
212testdata/language-features/adt/gadt01.lc 7:28-7:33 212gadt01.lc 7:28-7:33
213 Type | Type 213 Type | Type
214testdata/language-features/adt/gadt01.lc 7:30-7:31 214gadt01.lc 7:30-7:31
215 Type | Type 215 Type | Type
216testdata/language-features/adt/gadt01.lc 7:30-7:33 216gadt01.lc 7:30-7:33
217 M _c _a -> Type 217 M _c _a -> Type
218testdata/language-features/adt/gadt01.lc 7:32-7:33 218gadt01.lc 7:32-7:33
219 _b | String 219 _b | String
220testdata/language-features/adt/gadt01.lc 9:6-9:8 220gadt01.lc 9:6-9:8
221 Type -> String -> Type | Type -> String -> Type | Type | Type 221 Type -> String -> Type | Type -> String -> Type | Type | Type
222 -> String -> Type | Type | Type 222 -> String -> Type | Type | Type
223testdata/language-features/adt/gadt01.lc 9:6-10:35 223gadt01.lc 9:6-10:35
224 Type | Type 224 Type | Type
225testdata/language-features/adt/gadt01.lc 9:15-9:19 225gadt01.lc 9:15-9:19
226 Type | Type | Type 226 Type | Type | Type
227testdata/language-features/adt/gadt01.lc 9:24-9:30 227gadt01.lc 9:24-9:30
228 Type 228 Type
229testdata/language-features/adt/gadt01.lc 9:24-9:38 229gadt01.lc 9:24-9:38
230 Type 230 Type
231testdata/language-features/adt/gadt01.lc 9:34-9:38 231gadt01.lc 9:34-9:38
232 Type | Type 232 Type | Type
233testdata/language-features/adt/gadt01.lc 10:3-10:9 233gadt01.lc 10:3-10:9
234 forall a . a -> forall (b :: String) . M2 a b | M2 _d _a 234 forall a . a -> forall (b :: String) . M2 a b | M2 _d _a
235testdata/language-features/adt/gadt01.lc 10:3-10:35 235gadt01.lc 10:3-10:35
236 Type | Type | Type 236 Type | Type | Type
237testdata/language-features/adt/gadt01.lc 10:13-10:14 237gadt01.lc 10:13-10:14
238 Type 238 Type
239testdata/language-features/adt/gadt01.lc 10:13-10:35 239gadt01.lc 10:13-10:35
240 Type 240 Type
241testdata/language-features/adt/gadt01.lc 10:18-10:35 241gadt01.lc 10:18-10:35
242 Type 242 Type
243testdata/language-features/adt/gadt01.lc 10:29-10:31 243gadt01.lc 10:29-10:31
244 Type -> String -> Type 244 Type -> String -> Type
245testdata/language-features/adt/gadt01.lc 10:29-10:33 245gadt01.lc 10:29-10:33
246 String -> Type 246 String -> Type
247testdata/language-features/adt/gadt01.lc 10:29-10:35 247gadt01.lc 10:29-10:35
248 Type | Type 248 Type | Type
249testdata/language-features/adt/gadt01.lc 10:32-10:33 249gadt01.lc 10:32-10:33
250 Type 250 Type
251testdata/language-features/adt/gadt01.lc 10:34-10:35 251gadt01.lc 10:34-10:35
252 _b | String 252 _b | String
253testdata/language-features/adt/gadt01.lc 12:6-12:8 253gadt01.lc 12:6-12:8
254 Type -> String -> Type | Type -> String -> Type | Type | Type 254 Type -> String -> Type | Type -> String -> Type | Type | Type
255 -> String -> Type | Type | Type 255 -> String -> Type | Type | Type
256testdata/language-features/adt/gadt01.lc 12:6-13:35 256gadt01.lc 12:6-13:35
257 Type | Type 257 Type | Type
258testdata/language-features/adt/gadt01.lc 12:15-12:19 258gadt01.lc 12:15-12:19
259 Type | Type | Type 259 Type | Type | Type
260testdata/language-features/adt/gadt01.lc 12:24-12:30 260gadt01.lc 12:24-12:30
261 Type 261 Type
262testdata/language-features/adt/gadt01.lc 12:24-12:38 262gadt01.lc 12:24-12:38
263 Type 263 Type
264testdata/language-features/adt/gadt01.lc 12:34-12:38 264gadt01.lc 12:34-12:38
265 Type | Type 265 Type | Type
266testdata/language-features/adt/gadt01.lc 13:3-13:9 266gadt01.lc 13:3-13:9
267 forall a (b :: String) . a -> M3 a b | M3 _d _b 267 forall a (b :: String) . a -> M3 a b | M3 _d _b
268testdata/language-features/adt/gadt01.lc 13:3-13:35 268gadt01.lc 13:3-13:35
269 Type | Type | Type 269 Type | Type | Type
270testdata/language-features/adt/gadt01.lc 13:13-13:35 270gadt01.lc 13:13-13:35
271 Type 271 Type
272testdata/language-features/adt/gadt01.lc 13:24-13:25 272gadt01.lc 13:24-13:25
273 Type 273 Type
274testdata/language-features/adt/gadt01.lc 13:24-13:35 274gadt01.lc 13:24-13:35
275 Type 275 Type
276testdata/language-features/adt/gadt01.lc 13:29-13:31 276gadt01.lc 13:29-13:31
277 Type -> String -> Type 277 Type -> String -> Type
278testdata/language-features/adt/gadt01.lc 13:29-13:33 278gadt01.lc 13:29-13:33
279 String -> Type 279 String -> Type
280testdata/language-features/adt/gadt01.lc 13:29-13:35 280gadt01.lc 13:29-13:35
281 Type | Type 281 Type | Type
282testdata/language-features/adt/gadt01.lc 13:32-13:33 282gadt01.lc 13:32-13:33
283 Type 283 Type
284testdata/language-features/adt/gadt01.lc 13:34-13:35 284gadt01.lc 13:34-13:35
285 _c | String 285 _c | String
286testdata/language-features/adt/gadt01.lc 17:1-17:2 286gadt01.lc 17:1-17:2
287 forall a (b :: String) . M2 a b -> a 287 forall a (b :: String) . M2 a b -> a
288testdata/language-features/adt/gadt01.lc 17:5-17:12 288gadt01.lc 17:5-17:12
289 forall a 289 forall a
290 . forall (b :: forall (c :: String) -> M2 a c -> Type) 290 . forall (b :: forall (c :: String) -> M2 a c -> Type)
291 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e)) 291 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e))
292 -> forall (f :: String) . forall (g :: M2 a f) -> b f g 292 -> forall (f :: String) . forall (g :: M2 a f) -> b f g
293testdata/language-features/adt/gadt01.lc 17:5-17:24 293gadt01.lc 17:5-17:24
294 (forall (a :: _b) -> @String -> _a) -> forall (b :: String) . M2 _b b -> _a 294 (forall (a :: _b) -> @String -> _a) -> forall (b :: String) . M2 _b b -> _a
295testdata/language-features/adt/gadt01.lc 17:5-17:37 295gadt01.lc 17:5-17:37
296 forall (a :: String) . M2 _a a -> _a 296 forall (a :: String) . M2 _a a -> _a
297testdata/language-features/adt/gadt01.lc 17:35-17:36 297gadt01.lc 17:35-17:36
298 _d 298 _d
299testdata/language-features/adt/gadt01.lc 19:1-19:2 299gadt01.lc 19:1-19:2
300 forall a (b :: String) . M3 a b -> a 300 forall a (b :: String) . M3 a b -> a
301testdata/language-features/adt/gadt01.lc 19:16-19:17 301gadt01.lc 19:16-19:17
302 _d 302 _d
303testdata/language-features/adt/gadt01.lc 21:11-21:12 303gadt01.lc 21:11-21:12
304 Type -> String -> Type 304 Type -> String -> Type
305testdata/language-features/adt/gadt01.lc 21:11-21:17 305gadt01.lc 21:11-21:17
306 String -> Type 306 String -> Type
307testdata/language-features/adt/gadt01.lc 21:11-21:21 307gadt01.lc 21:11-21:21
308 Type 308 Type
309testdata/language-features/adt/gadt01.lc 21:13-21:17 309gadt01.lc 21:13-21:17
310 Type 310 Type
311testdata/language-features/adt/gadt01.lc 21:18-21:21 311gadt01.lc 21:18-21:21
312 String 312 String
313testdata/language-features/adt/gadt01.lc 22:1-22:7 313gadt01.lc 22:1-22:7
314 M Bool "m" 314 M Bool "m"
315testdata/language-features/adt/gadt01.lc 22:10-22:15 315gadt01.lc 22:10-22:15
316 forall a . a -> forall (b :: String) . M a b 316 forall a . a -> forall (b :: String) . M a b
317testdata/language-features/adt/gadt01.lc 22:10-22:20 317gadt01.lc 22:10-22:20
318 forall (a :: String) . M Bool a 318 forall (a :: String) . M Bool a
319testdata/language-features/adt/gadt01.lc 22:16-22:20 319gadt01.lc 22:16-22:20
320 Bool 320 Bool
321testdata/language-features/adt/gadt01.lc 24:11-24:13 321gadt01.lc 24:11-24:13
322 Type -> String -> Type 322 Type -> String -> Type
323testdata/language-features/adt/gadt01.lc 24:11-24:18 323gadt01.lc 24:11-24:18
324 String -> Type 324 String -> Type
325testdata/language-features/adt/gadt01.lc 24:11-24:22 325gadt01.lc 24:11-24:22
326 Type 326 Type
327testdata/language-features/adt/gadt01.lc 24:14-24:18 327gadt01.lc 24:14-24:18
328 Type 328 Type
329testdata/language-features/adt/gadt01.lc 24:19-24:22 329gadt01.lc 24:19-24:22
330 String 330 String
331testdata/language-features/adt/gadt01.lc 25:1-25:7 331gadt01.lc 25:1-25:7
332 M2 Bool "s" 332 M2 Bool "s"
333testdata/language-features/adt/gadt01.lc 25:10-25:16 333gadt01.lc 25:10-25:16
334 forall a . a -> forall (b :: String) . M2 a b 334 forall a . a -> forall (b :: String) . M2 a b
335testdata/language-features/adt/gadt01.lc 25:10-25:21 335gadt01.lc 25:10-25:21
336 forall (a :: String) . M2 Bool a 336 forall (a :: String) . M2 Bool a
337testdata/language-features/adt/gadt01.lc 25:17-25:21 337gadt01.lc 25:17-25:21
338 Bool 338 Bool
339testdata/language-features/adt/gadt01.lc 27:11-27:13 339gadt01.lc 27:11-27:13
340 Type -> String -> Type 340 Type -> String -> Type
341testdata/language-features/adt/gadt01.lc 27:11-27:18 341gadt01.lc 27:11-27:18
342 String -> Type 342 String -> Type
343testdata/language-features/adt/gadt01.lc 27:11-27:22 343gadt01.lc 27:11-27:22
344 Type 344 Type
345testdata/language-features/adt/gadt01.lc 27:14-27:18 345gadt01.lc 27:14-27:18
346 Type 346 Type
347testdata/language-features/adt/gadt01.lc 27:19-27:22 347gadt01.lc 27:19-27:22
348 String 348 String
349testdata/language-features/adt/gadt01.lc 28:1-28:7 349gadt01.lc 28:1-28:7
350 M3 Bool "t" 350 M3 Bool "t"
351testdata/language-features/adt/gadt01.lc 28:10-28:16 351gadt01.lc 28:10-28:16
352 forall a (b :: String) . a -> M3 a b 352 forall a (b :: String) . a -> M3 a b
353testdata/language-features/adt/gadt01.lc 28:10-28:21 353gadt01.lc 28:10-28:21
354 M3 Bool _a 354 M3 Bool _a
355testdata/language-features/adt/gadt01.lc 28:17-28:21 355gadt01.lc 28:17-28:21
356 Bool 356 Bool
357testdata/language-features/adt/gadt01.lc 30:1-30:5 357gadt01.lc 30:1-30:5
358 Bool 358 Bool
359testdata/language-features/adt/gadt01.lc 30:8-30:9 359gadt01.lc 30:8-30:9
360 forall a (b :: String) . M2 a b -> a 360 forall a (b :: String) . M2 a b -> a
361testdata/language-features/adt/gadt01.lc 30:8-30:16 361gadt01.lc 30:8-30:16
362 Bool 362 Bool
363testdata/language-features/adt/gadt01.lc 30:8-30:19 363gadt01.lc 30:8-30:19
364 Bool -> Bool 364 Bool -> Bool
365testdata/language-features/adt/gadt01.lc 30:8-30:28 365gadt01.lc 30:8-30:28
366 Bool 366 Bool
367testdata/language-features/adt/gadt01.lc 30:10-30:16 367gadt01.lc 30:10-30:16
368 M2 Bool "s" 368 M2 Bool "s"
369testdata/language-features/adt/gadt01.lc 30:17-30:19 369gadt01.lc 30:17-30:19
370 Bool -> Bool -> Bool 370 Bool -> Bool -> Bool
371testdata/language-features/adt/gadt01.lc 30:20-30:21 371gadt01.lc 30:20-30:21
372 forall a (b :: String) . M3 a b -> a 372 forall a (b :: String) . M3 a b -> a
373testdata/language-features/adt/gadt01.lc 30:20-30:28 373gadt01.lc 30:20-30:28
374 Bool 374 Bool
375testdata/language-features/adt/gadt01.lc 30:22-30:28 375gadt01.lc 30:22-30:28
376 M3 Bool "t" \ No newline at end of file 376 M3 Bool "t" \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt01.reject.out b/testdata/language-features/adt/gadt01.reject.out
index ce6834db..d5a59c56 100644
--- a/testdata/language-features/adt/gadt01.reject.out
+++ b/testdata/language-features/adt/gadt01.reject.out
@@ -3,9 +3,9 @@ illegal data definition (parameters are not uniform)
3'M3 :: Type -> String -> Type 3'M3 :: Type -> String -> Type
4!illegal data definition (parameters are not uniform) 4!illegal data definition (parameters are not uniform)
5------------ tooltips 5------------ tooltips
6testdata/language-features/adt/gadt01.reject.lc 5:6-5:8 6gadt01.reject.lc 5:6-5:8
7 Type -> String -> Type 7 Type -> String -> Type
8testdata/language-features/adt/gadt01.reject.lc 5:15-5:19 8gadt01.reject.lc 5:15-5:19
9 Type 9 Type
10testdata/language-features/adt/gadt01.reject.lc 5:27-5:33 10gadt01.reject.lc 5:27-5:33
11 Type | Type \ No newline at end of file 11 Type | Type \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt03.reject.out b/testdata/language-features/adt/gadt03.reject.out
index 617050b6..ee28c6db 100644
--- a/testdata/language-features/adt/gadt03.reject.out
+++ b/testdata/language-features/adt/gadt03.reject.out
@@ -13,46 +13,46 @@ match'M2
13'M3 :: Type -> String -> Type 13'M3 :: Type -> String -> Type
14!illegal data definition (parameters are not uniform) 14!illegal data definition (parameters are not uniform)
15------------ tooltips 15------------ tooltips
16testdata/language-features/adt/gadt03.reject.lc 2:6-2:8 16gadt03.reject.lc 2:6-2:8
17 Type -> String -> Type | Type -> String -> Type | Type | Type 17 Type -> String -> Type | Type -> String -> Type | Type | Type
18 -> String -> Type | Type | Type 18 -> String -> Type | Type | Type
19testdata/language-features/adt/gadt03.reject.lc 2:6-3:35 19gadt03.reject.lc 2:6-3:35
20 Type | Type 20 Type | Type
21testdata/language-features/adt/gadt03.reject.lc 2:15-2:19 21gadt03.reject.lc 2:15-2:19
22 Type | Type | Type 22 Type | Type | Type
23testdata/language-features/adt/gadt03.reject.lc 2:24-2:30 23gadt03.reject.lc 2:24-2:30
24 Type 24 Type
25testdata/language-features/adt/gadt03.reject.lc 2:24-2:38 25gadt03.reject.lc 2:24-2:38
26 Type 26 Type
27testdata/language-features/adt/gadt03.reject.lc 2:34-2:38 27gadt03.reject.lc 2:34-2:38
28 Type | Type 28 Type | Type
29testdata/language-features/adt/gadt03.reject.lc 3:3-3:9 29gadt03.reject.lc 3:3-3:9
30 forall a . a -> forall (b :: String) . M2 a b | M2 _d _a 30 forall a . a -> forall (b :: String) . M2 a b | M2 _d _a
31testdata/language-features/adt/gadt03.reject.lc 3:3-3:35 31gadt03.reject.lc 3:3-3:35
32 Type | Type | Type 32 Type | Type | Type
33testdata/language-features/adt/gadt03.reject.lc 3:13-3:14 33gadt03.reject.lc 3:13-3:14
34 Type 34 Type
35testdata/language-features/adt/gadt03.reject.lc 3:13-3:35 35gadt03.reject.lc 3:13-3:35
36 Type 36 Type
37testdata/language-features/adt/gadt03.reject.lc 3:18-3:35 37gadt03.reject.lc 3:18-3:35
38 Type 38 Type
39testdata/language-features/adt/gadt03.reject.lc 3:29-3:31 39gadt03.reject.lc 3:29-3:31
40 Type -> String -> Type 40 Type -> String -> Type
41testdata/language-features/adt/gadt03.reject.lc 3:29-3:33 41gadt03.reject.lc 3:29-3:33
42 String -> Type 42 String -> Type
43testdata/language-features/adt/gadt03.reject.lc 3:29-3:35 43gadt03.reject.lc 3:29-3:35
44 Type | Type 44 Type | Type
45testdata/language-features/adt/gadt03.reject.lc 3:32-3:33 45gadt03.reject.lc 3:32-3:33
46 Type 46 Type
47testdata/language-features/adt/gadt03.reject.lc 3:34-3:35 47gadt03.reject.lc 3:34-3:35
48 _b | String 48 _b | String
49testdata/language-features/adt/gadt03.reject.lc 5:6-5:8 49gadt03.reject.lc 5:6-5:8
50 Type -> String -> Type 50 Type -> String -> Type
51testdata/language-features/adt/gadt03.reject.lc 5:15-5:19 51gadt03.reject.lc 5:15-5:19
52 Type 52 Type
53testdata/language-features/adt/gadt03.reject.lc 5:24-5:30 53gadt03.reject.lc 5:24-5:30
54 Type 54 Type
55testdata/language-features/adt/gadt03.reject.lc 5:24-5:38 55gadt03.reject.lc 5:24-5:38
56 Type 56 Type
57testdata/language-features/adt/gadt03.reject.lc 5:34-5:38 57gadt03.reject.lc 5:34-5:38
58 Type | Type \ No newline at end of file 58 Type | Type \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt04.reject.out b/testdata/language-features/adt/gadt04.reject.out
index 7d351f15..1d03ccc1 100644
--- a/testdata/language-features/adt/gadt04.reject.out
+++ b/testdata/language-features/adt/gadt04.reject.out
@@ -1,7 +1,7 @@
1already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3: 1already defined Value at gadt04.reject.lc:6:3:
2 Value :: a -> forall m . M2 a m 2 Value :: a -> forall m . M2 a m
3 ^^^^^ 3 ^^^^^
4and at testdata/language-features/adt/gadt04.reject.lc:3:3: 4and at gadt04.reject.lc:3:3:
5 Value :: a -> forall m . M a m 5 Value :: a -> forall m . M a m
6 ^^^^^ 6 ^^^^^
7------------ trace 7------------ trace
@@ -16,71 +16,71 @@ match'M
16 -> (forall b (c :: String) -> a (M b c)) -> forall d -> a d -> a d 16 -> (forall b (c :: String) -> a (M b c)) -> forall d -> a d -> a d
17'M2 :: Type -> String -> Type 17'M2 :: Type -> String -> Type
18Value :: forall a . a -> forall (b :: String) . M2 a b 18Value :: forall a . a -> forall (b :: String) . M2 a b
19!already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3: 19!already defined Value at gadt04.reject.lc:6:3:
20 Value :: a -> forall m . M2 a m 20 Value :: a -> forall m . M2 a m
21 ^^^^^ 21 ^^^^^
22and at testdata/language-features/adt/gadt04.reject.lc:3:3: 22and at gadt04.reject.lc:3:3:
23 Value :: a -> forall m . M a m 23 Value :: a -> forall m . M a m
24 ^^^^^ 24 ^^^^^
25------------ tooltips 25------------ tooltips
26testdata/language-features/adt/gadt04.reject.lc 2:6-2:7 26gadt04.reject.lc 2:6-2:7
27 Type -> String -> Type | Type -> String -> Type | Type | Type | Type 27 Type -> String -> Type | Type -> String -> Type | Type | Type | Type
28 -> String -> Type | Type | Type | Type 28 -> String -> Type | Type | Type | Type
29testdata/language-features/adt/gadt04.reject.lc 2:6-3:33 29gadt04.reject.lc 2:6-3:33
30 Type 30 Type
31testdata/language-features/adt/gadt04.reject.lc 2:11-2:15 31gadt04.reject.lc 2:11-2:15
32 Type 32 Type
33testdata/language-features/adt/gadt04.reject.lc 2:19-2:25 33gadt04.reject.lc 2:19-2:25
34 Type 34 Type
35testdata/language-features/adt/gadt04.reject.lc 2:19-2:33 35gadt04.reject.lc 2:19-2:33
36 Type 36 Type
37testdata/language-features/adt/gadt04.reject.lc 2:29-2:33 37gadt04.reject.lc 2:29-2:33
38 Type | Type 38 Type | Type
39testdata/language-features/adt/gadt04.reject.lc 3:3-3:8 39gadt04.reject.lc 3:3-3:8
40 forall a . a -> forall (b :: String) . M a b | M _c _a 40 forall a . a -> forall (b :: String) . M a b | M _c _a
41testdata/language-features/adt/gadt04.reject.lc 3:3-3:33 41gadt04.reject.lc 3:3-3:33
42 Type | Type | Type | Type 42 Type | Type | Type | Type
43testdata/language-features/adt/gadt04.reject.lc 3:12-3:13 43gadt04.reject.lc 3:12-3:13
44 _b 44 _b
45testdata/language-features/adt/gadt04.reject.lc 3:12-3:33 45gadt04.reject.lc 3:12-3:33
46 Type 46 Type
47testdata/language-features/adt/gadt04.reject.lc 3:17-3:33 47gadt04.reject.lc 3:17-3:33
48 Type 48 Type
49testdata/language-features/adt/gadt04.reject.lc 3:28-3:29 49gadt04.reject.lc 3:28-3:29
50 Type -> String -> Type 50 Type -> String -> Type
51testdata/language-features/adt/gadt04.reject.lc 3:28-3:31 51gadt04.reject.lc 3:28-3:31
52 String -> Type 52 String -> Type
53testdata/language-features/adt/gadt04.reject.lc 3:28-3:33 53gadt04.reject.lc 3:28-3:33
54 Type | Type 54 Type | Type
55testdata/language-features/adt/gadt04.reject.lc 3:30-3:31 55gadt04.reject.lc 3:30-3:31
56 Type | Type 56 Type | Type
57testdata/language-features/adt/gadt04.reject.lc 3:30-3:33 57gadt04.reject.lc 3:30-3:33
58 M _c _a -> Type 58 M _c _a -> Type
59testdata/language-features/adt/gadt04.reject.lc 3:32-3:33 59gadt04.reject.lc 3:32-3:33
60 _b | String 60 _b | String
61testdata/language-features/adt/gadt04.reject.lc 5:6-5:8 61gadt04.reject.lc 5:6-5:8
62 Type -> String -> Type 62 Type -> String -> Type
63testdata/language-features/adt/gadt04.reject.lc 5:12-5:16 63gadt04.reject.lc 5:12-5:16
64 Type 64 Type
65testdata/language-features/adt/gadt04.reject.lc 5:20-5:26 65gadt04.reject.lc 5:20-5:26
66 Type 66 Type
67testdata/language-features/adt/gadt04.reject.lc 5:20-5:34 67gadt04.reject.lc 5:20-5:34
68 Type 68 Type
69testdata/language-features/adt/gadt04.reject.lc 5:30-5:34 69gadt04.reject.lc 5:30-5:34
70 Type | Type 70 Type | Type
71testdata/language-features/adt/gadt04.reject.lc 6:12-6:13 71gadt04.reject.lc 6:12-6:13
72 _b 72 _b
73testdata/language-features/adt/gadt04.reject.lc 6:12-6:34 73gadt04.reject.lc 6:12-6:34
74 Type 74 Type
75testdata/language-features/adt/gadt04.reject.lc 6:17-6:34 75gadt04.reject.lc 6:17-6:34
76 Type 76 Type
77testdata/language-features/adt/gadt04.reject.lc 6:28-6:30 77gadt04.reject.lc 6:28-6:30
78 Type -> String -> Type 78 Type -> String -> Type
79testdata/language-features/adt/gadt04.reject.lc 6:28-6:32 79gadt04.reject.lc 6:28-6:32
80 String -> Type 80 String -> Type
81testdata/language-features/adt/gadt04.reject.lc 6:28-6:34 81gadt04.reject.lc 6:28-6:34
82 Type | Type 82 Type | Type
83testdata/language-features/adt/gadt04.reject.lc 6:31-6:32 83gadt04.reject.lc 6:31-6:32
84 Type 84 Type
85testdata/language-features/adt/gadt04.reject.lc 6:33-6:34 85gadt04.reject.lc 6:33-6:34
86 _b \ No newline at end of file 86 _b \ No newline at end of file