1+ package dummy
2+
3+ import language .experimental .captureChecking
4+ import caps .*
5+
6+ trait Nested :
7+ val c : AnyRef ^
8+ val next : Nested
9+
10+ trait Arrows :
11+ val a : AnyRef ^
12+ val b : AnyRef ^
13+ val c : AnyRef ^
14+
15+ val purev : Int -> Int
16+ val purev2 : Int -> {} Int
17+ val impurev : Int => Int
18+ val impurev2 : Int -> {a,b,c} Int
19+ val impurev3 : Int -> {a,b,c} Int => Int
20+ val impureCap : Int -> {cap} Int
21+ val impureCap2 : Int -> {cap, a, b, c} Int
22+ val contextPureV : Int ?-> Int
23+ val contextPureV2 : Int ?-> {} Int
24+ val contextImpureV : Int ?=> Int
25+ val contextImpureV2 : Int ?-> {a,b,c} Int
26+ val contextImpureV3 : Int ?-> {a,b,c} Int ?=> Int
27+ val contextImpureCap : Int ?-> {cap} Int
28+ val contextImpureCap2 : Int ?-> {cap, a, b, c} Int
29+
30+ def pure (f : Int -> Int ): Int
31+ def pure2 (f : Int -> {} Int ): Int
32+ def impure (f : Int => Int ): Int
33+ def impure2 (f : Int -> {a,b,c} Int ): Int
34+ def impure3 (f : Int -> {a,b,c} Int => Int ): Int
35+
36+ def consumes (@ consume a : AnyRef ^ ): Any
37+ def consumes2 (@ consume x : AnyRef ^ {a}, @ consume y : AnyRef ^ {b}): Any
38+
39+ def reachThis : AnyRef ^ {this * }
40+
41+ def byNamePure (f : -> Int ): Int
42+ def byNameImpure (f : -> {a,b,c} Int ): Int
43+ def byNameImpure2 (f : => Int ): Int
44+
45+ def pathDependent (n : Nested ^ )(g : AnyRef ^ {n.c} => Any ): Any
46+ def pathDependent2 (n : Nested ^ )(g : AnyRef ^ {n.next.c} => Any ): Any
47+ def pathDependent3 (n : Nested ^ )(g : AnyRef ^ {n.c} => AnyRef ^ {n.next.c} -> {n.c} Any ): Any
48+ def pathDependent4 (n : Nested ^ )(g : AnyRef ^ {n.c} => AnyRef ^ {n.next.c} -> {n.c} Any ): AnyRef ^ {n.next.next.c}
49+ def pathDependent5 (n : Nested ^ )(g : AnyRef ^ {n.c} => AnyRef ^ {n.next.c} -> {n.c} Any ): AnyRef ^ {n.next.next.c* , n.c, cap}
50+
51+ def contextPure (f : AnyRef ^ {a} ?-> Int ): Int
52+ def contextImpure (f : AnyRef ^ {a} ?=> Int ): Int
53+ def contextImpure2 (f : AnyRef ^ {a} ?-> {b,c} Int ): Int
54+ def contextImpure3 (f : AnyRef ^ {a} ?-> {b,c} Int => AnyRef ^ {a} ?=> Int ): Int
55+
56+ val noParams : () -> () -> Int
57+ val noParams2 : () -> {} () -> {} Int
58+ val noParamsImpure : () => () => Int => Unit
59+
60+ val uncurried : (x : AnyRef ^ , y : AnyRef ^ ) -> AnyRef ^ {x,y} => Int -> {x,y} Int
61+ val uncurried2 : (x : AnyRef ^ , y : AnyRef ^ ) -> AnyRef => Int -> {x,y} Int
62+ val uncurried3 : (x : AnyRef ^ , y : AnyRef ^ ) => AnyRef
63+ val uncurried4 : (x : AnyRef ^ , y : AnyRef ^ ) -> {a,b} AnyRef ^ => Int -> {x,y} Int
64+
65+ val contextUncurried : (x : AnyRef ^ {a}, y : AnyRef ^ {b}) ?-> AnyRef ^ {x,y} ?-> Int ?-> {x,y} Int
66+ val contextUncurried2 : (x : AnyRef ^ {a}, y : AnyRef ^ {b}) ?-> AnyRef ?-> Int ?-> {x,y} Int
67+ val contextUncurried3 : (x : AnyRef ^ {a}, y : AnyRef ^ {b}) ?=> AnyRef
68+ val contextUncurried4 : (x : AnyRef ^ {a}, y : AnyRef ^ {b}) ?-> {a,b} AnyRef ^ ?=> Int ?-> {x,y} Int
69+
70+ def polyPure [A ](f : A -> Int ): Int
71+ def polyPure2 [A ](f : A -> {} Int ): Int
72+ def polyImpure [A ](f : A => Int ): Int
73+ def polyImpure2 [A ](f : A -> {a,b,c} Int ): Int
74+ def polyImpure3 [A ](f : A -> {a,b,c} Int => Int ): Int
75+
76+ def polyContextPure [A ](f : A ?-> Int ): Int
77+ def polyContextPure2 [A ](f : A ?-> {} Int ): Int
78+ def polyContextImpure [A ](f : A ?=> Int ): Int
79+ def polyContextImpure2 [A ](f : A ?-> {a,b,c} Int ): Int
80+ def polyContextImpure3 [A ](f : A ?-> {a,b,c} Int => Int ): Int
81+
82+ val polyPureV : [A ] => A -> Int
83+ val polyPureV2 : [A ] => Int => A -> {a,b,c} Int
84+ val polyImpureV : [A ] -> A => Int
85+ val polyImpureV2 : [A ] -> A => Int
0 commit comments