1
+ object Main {
2
+ trait A {}
3
+ trait B {}
4
+ trait C {}
5
+ trait D {}
6
+ trait E {}
7
+ trait F {}
8
+ trait G {}
9
+ trait H {}
10
+ trait I {}
11
+ trait J {}
12
+ trait K {}
13
+ trait L {}
14
+ trait M {}
15
+ trait N {}
16
+ trait O {}
17
+ trait P {}
18
+ trait Q {}
19
+ trait R {}
20
+ trait S {}
21
+ trait T {}
22
+ trait U {}
23
+ trait V {}
24
+ trait W {}
25
+ trait X {}
26
+ trait Y {}
27
+ trait Z {}
28
+
29
+ type AlphabeticServices = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
30
+
31
+ type EnvOutA = B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
32
+ type EnvOutB = A & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
33
+ type EnvOutC = A & B & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
34
+ type EnvOutD = A & B & C & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
35
+ type EnvOutE = A & B & C & D & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
36
+ type EnvOutF = A & B & C & D & E & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
37
+ type EnvOutG = A & B & C & D & E & F & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
38
+ type EnvOutH = A & B & C & D & E & F & G & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
39
+ type EnvOutI = A & B & C & D & E & F & G & H & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
40
+ type EnvOutJ = A & B & C & D & E & F & G & H & I & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
41
+ type EnvOutK = A & B & C & D & E & F & G & H & I & J & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
42
+ type EnvOutL = A & B & C & D & E & F & G & H & I & J & K & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
43
+ type EnvOutM = A & B & C & D & E & F & G & H & I & J & K & L & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
44
+ type EnvOutN = A & B & C & D & E & F & G & H & I & J & K & L & M & O & P & Q & R & S & T & U & V & W & X & Y & Z
45
+ type EnvOutO = A & B & C & D & E & F & G & H & I & J & K & L & M & N & P & Q & R & S & T & U & V & W & X & Y & Z
46
+ type EnvOutP = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & Q & R & S & T & U & V & W & X & Y & Z
47
+ type EnvOutQ = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & R & S & T & U & V & W & X & Y & Z
48
+ type EnvOutR = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & S & T & U & V & W & X & Y & Z
49
+ type EnvOutS = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & T & U & V & W & X & Y & Z
50
+ type EnvOutT = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & U & V & W & X & Y & Z
51
+ type EnvOutU = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & V & W & X & Y & Z
52
+ type EnvOutV = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & W & X & Y & Z
53
+ type EnvOutW = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & X & Y & Z
54
+ type EnvOutX = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & Y & Z
55
+ type EnvOutY = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Z
56
+ type EnvOutZ = A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y
57
+
58
+ trait Reader [- E , A ] {
59
+ def map [B ](f : A => B ): Reader [E , B ] = ???
60
+ def flatMap [E2 <: E , B ](f : A => Reader [E2 , B ]): Reader [E2 , B ] = ???
61
+ }
62
+
63
+ def e1 : Reader [EnvOutA , Unit ] = ???
64
+ def e2 : Reader [EnvOutB , Unit ] = ???
65
+ def e3 : Reader [EnvOutC , Unit ] = ???
66
+ def e4 : Reader [EnvOutD , Unit ] = ???
67
+ def e5 : Reader [EnvOutE , Unit ] = ???
68
+ def e6 : Reader [EnvOutF , Unit ] = ???
69
+ def e7 : Reader [EnvOutG , Unit ] = ???
70
+ def e8 : Reader [EnvOutH , Unit ] = ???
71
+ def e9 : Reader [EnvOutI , Unit ] = ???
72
+ def e10 : Reader [EnvOutJ , Unit ] = ???
73
+ def e11 : Reader [EnvOutK , Unit ] = ???
74
+ def e12 : Reader [EnvOutL , Unit ] = ???
75
+ def e13 : Reader [EnvOutM , Unit ] = ???
76
+ def e14 : Reader [EnvOutN , Unit ] = ???
77
+ def e15 : Reader [EnvOutO , Unit ] = ???
78
+ def e16 : Reader [EnvOutP , Unit ] = ???
79
+ def e17 : Reader [EnvOutQ , Unit ] = ???
80
+ def e18 : Reader [EnvOutR , Unit ] = ???
81
+ def e19 : Reader [EnvOutS , Unit ] = ???
82
+ def e20 : Reader [EnvOutT , Unit ] = ???
83
+ def e21 : Reader [EnvOutU , Unit ] = ???
84
+ def e22 : Reader [EnvOutV , Unit ] = ???
85
+ def e23 : Reader [EnvOutW , Unit ] = ???
86
+ def e24 : Reader [EnvOutX , Unit ] = ???
87
+ def e25 : Reader [EnvOutY , Unit ] = ???
88
+ def e26 : Reader [EnvOutZ , Unit ] = ???
89
+
90
+ def program : Reader [AlphabeticServices , Unit ] = for {
91
+ // 1
92
+ _ <- e1
93
+ _ <- e2
94
+ _ <- e3
95
+ _ <- e4
96
+ _ <- e5
97
+ _ <- e6
98
+ _ <- e7
99
+ _ <- e8
100
+ _ <- e8
101
+ _ <- e9
102
+ _ <- e10
103
+ _ <- e11
104
+ _ <- e12
105
+ _ <- e13
106
+ _ <- e14
107
+ _ <- e15
108
+ _ <- e16
109
+ _ <- e17
110
+ _ <- e18
111
+ _ <- e19
112
+ _ <- e20
113
+ _ <- e21
114
+ _ <- e22
115
+ _ <- e23
116
+ _ <- e24
117
+ _ <- e25
118
+ _ <- e26
119
+ // 2
120
+ _ <- e1
121
+ _ <- e2
122
+ _ <- e3
123
+ _ <- e4
124
+ _ <- e5
125
+ _ <- e6
126
+ _ <- e7
127
+ _ <- e8
128
+ _ <- e8
129
+ _ <- e9
130
+ _ <- e10
131
+ _ <- e11
132
+ _ <- e12
133
+ _ <- e13
134
+ _ <- e14
135
+ _ <- e15
136
+ _ <- e16
137
+ _ <- e17
138
+ _ <- e18
139
+ _ <- e19
140
+ _ <- e20
141
+ _ <- e21
142
+ _ <- e22
143
+ _ <- e23
144
+ _ <- e24
145
+ _ <- e25
146
+ _ <- e26
147
+ // 3
148
+ _ <- e1
149
+ _ <- e2
150
+ _ <- e3
151
+ _ <- e4
152
+ _ <- e5
153
+ _ <- e6
154
+ _ <- e7
155
+ _ <- e8
156
+ _ <- e8
157
+ _ <- e9
158
+ _ <- e10
159
+ _ <- e11
160
+ _ <- e12
161
+ _ <- e13
162
+ _ <- e14
163
+ _ <- e15
164
+ _ <- e16
165
+ _ <- e17
166
+ _ <- e18
167
+ _ <- e19
168
+ _ <- e20
169
+ _ <- e21
170
+ _ <- e22
171
+ _ <- e23
172
+ _ <- e24
173
+ _ <- e25
174
+ _ <- e26
175
+ // Comment out the following lines because the post-typer phase fails
176
+ // 4
177
+ // _ <- e1
178
+ // _ <- e2
179
+ // _ <- e3
180
+ // _ <- e4
181
+ // _ <- e5
182
+ // _ <- e6
183
+ // _ <- e7
184
+ // _ <- e8
185
+ // _ <- e8
186
+ // _ <- e9
187
+ // _ <- e10
188
+ // _ <- e11
189
+ // _ <- e12
190
+ // _ <- e13
191
+ // _ <- e14
192
+ // _ <- e15
193
+ // _ <- e16
194
+ // _ <- e17
195
+ // _ <- e18
196
+ // _ <- e19
197
+ // _ <- e20
198
+ // _ <- e21
199
+ // _ <- e22
200
+ // _ <- e23
201
+ // _ <- e24
202
+ // _ <- e25
203
+ // _ <- e26
204
+ } yield ()
205
+ }
0 commit comments