File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ i11247.scala
37
37
i11250
38
38
i9999.scala
39
39
i12127.scala
40
+ 8649.scala
40
41
41
42
# Opaque type
42
43
i5720.scala
Original file line number Diff line number Diff line change
1
+ // This is crazy:
2
+ type Get0 = OK [Int , Unit ]
3
+ def get0 : Handler [Get0 ] = IO [Unit ]()
4
+
5
+ case class HandlerAlt [A ](value : Handler [A ])
6
+
7
+ type Handler [API ] = handler.Go [API ]
8
+
9
+ case class IO [A ]()
10
+ case class OK [A , B ]()
11
+
12
+ object handler :
13
+ // Starter for Handler reduction:
14
+ type Go [API ] = API match
15
+ case _ =>
16
+ HandlerSingle [API ]
17
+
18
+ type HandlerSingle [X ] = X match
19
+ case OK [_, response] =>
20
+ IO [response]
21
+
22
+ object Minimized {
23
+ case class HandlerAlt [A ](value : M2 [A ])
24
+
25
+ type M1 [X ] = X match {
26
+ case _ => M2 [X ]
27
+ }
28
+
29
+ type M2 [X ] = X match {
30
+ case Int => String
31
+ }
32
+ }
You can’t perform that action at this time.
0 commit comments