summaryrefslogtreecommitdiff
path: root/testsuite/tests/arrows/should_compile/arrowdo3.hs
blob: a46b06ef75ed8208e88cc4f819ed08778e86c298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
{-# LANGUAGE Arrows #-}

-- test for out-size tuples: takes a _long_ time to compile

module ShouldCompile where

import Control.Arrow

data T1 = C1
data T2 = C2
data T3 = C3
data T4 = C4
data T5 = C5
data T6 = C6
data T7 = C7
data T8 = C8
data T9 = C9
data T10 = C10
data T11 = C11
data T12 = C12
data T13 = C13
data T14 = C14
data T15 = C15
data T16 = C16
data T17 = C17
data T18 = C18
data T19 = C19
data T20 = C20
data T21 = C21
data T22 = C22
data T23 = C23
data T24 = C24
data T25 = C25
data T26 = C26
data T27 = C27
data T28 = C28
data T29 = C29
data T30 = C30
data T31 = C31
data T32 = C32
data T33 = C33
data T34 = C34
data T35 = C35
data T36 = C36
data T37 = C37
data T38 = C38
data T39 = C39
data T40 = C40
data T41 = C41
data T42 = C42
data T43 = C43
data T44 = C44
data T45 = C45
data T46 = C46
data T47 = C47
data T48 = C48
data T49 = C49
data T50 = C50
data T51 = C51
data T52 = C52
data T53 = C53
data T54 = C54
data T55 = C55
data T56 = C56
data T57 = C57
data T58 = C58
data T59 = C59
data T60 = C60
data T61 = C61
data T62 = C62
data T63 = C63
data T64 = C64
data T65 = C65
data T66 = C66
data T67 = C67
data T68 = C68
data T69 = C69
data T70 = C70

f :: Arrow a => a Int Int
f = proc x0 -> do
        x1 <- returnA -< C1
        x2 <- returnA -< C2
        x3 <- returnA -< C3
        x4 <- returnA -< C4
        x5 <- returnA -< C5
        x6 <- returnA -< C6
        x7 <- returnA -< C7
        x8 <- returnA -< C8
        x9 <- returnA -< C9
        x10 <- returnA -< C10
        x11 <- returnA -< C11
        x12 <- returnA -< C12
        x13 <- returnA -< C13
        x14 <- returnA -< C14
        x15 <- returnA -< C15
        x16 <- returnA -< C16
        x17 <- returnA -< C17
        x18 <- returnA -< C18
        x19 <- returnA -< C19
        x20 <- returnA -< C20
        x21 <- returnA -< C21
        x22 <- returnA -< C22
        x23 <- returnA -< C23
        x24 <- returnA -< C24
        x25 <- returnA -< C25
        x26 <- returnA -< C26
        x27 <- returnA -< C27
        x28 <- returnA -< C28
        x29 <- returnA -< C29
        x30 <- returnA -< C30
        x31 <- returnA -< C31
        x32 <- returnA -< C32
        x33 <- returnA -< C33
        x34 <- returnA -< C34
        x35 <- returnA -< C35
        x36 <- returnA -< C36
        x37 <- returnA -< C37
        x38 <- returnA -< C38
        x39 <- returnA -< C39
        x40 <- returnA -< C40
        x41 <- returnA -< C41
        x42 <- returnA -< C42
        x43 <- returnA -< C43
        x44 <- returnA -< C44
        x45 <- returnA -< C45
        x46 <- returnA -< C46
        x47 <- returnA -< C47
        x48 <- returnA -< C48
        x49 <- returnA -< C49
        x50 <- returnA -< C50
        x51 <- returnA -< C51
        x52 <- returnA -< C52
        x53 <- returnA -< C53
        x54 <- returnA -< C54
        x55 <- returnA -< C55
        x56 <- returnA -< C56
        x57 <- returnA -< C57
        x58 <- returnA -< C58
        x59 <- returnA -< C59
        x60 <- returnA -< C60
        x61 <- returnA -< C61
        x62 <- returnA -< C62
        x63 <- returnA -< C63
        x64 <- returnA -< C64
        x65 <- returnA -< C65
        x66 <- returnA -< C66
        x67 <- returnA -< C67
        x68 <- returnA -< C68
        x69 <- returnA -< C69
        x70 <- returnA -< C70
        returnA -< x70
        returnA -< x69
        returnA -< x68
        returnA -< x67
        returnA -< x66
        returnA -< x65
        returnA -< x64
        returnA -< x63
        returnA -< x62
        returnA -< x61
        returnA -< x60
        returnA -< x59
        returnA -< x58
        returnA -< x57
        returnA -< x56
        returnA -< x55
        returnA -< x54
        returnA -< x53
        returnA -< x52
        returnA -< x51
        returnA -< x50
        returnA -< x49
        returnA -< x48
        returnA -< x47
        returnA -< x46
        returnA -< x45
        returnA -< x44
        returnA -< x43
        returnA -< x42
        returnA -< x41
        returnA -< x40
        returnA -< x39
        returnA -< x38
        returnA -< x37
        returnA -< x36
        returnA -< x35
        returnA -< x34
        returnA -< x33
        returnA -< x32
        returnA -< x31
        returnA -< x30
        returnA -< x29
        returnA -< x28
        returnA -< x27
        returnA -< x26
        returnA -< x25
        returnA -< x24
        returnA -< x23
        returnA -< x22
        returnA -< x21
        returnA -< x20
        returnA -< x19
        returnA -< x18
        returnA -< x17
        returnA -< x16
        returnA -< x15
        returnA -< x14
        returnA -< x13
        returnA -< x12
        returnA -< x11
        returnA -< x10
        returnA -< x9
        returnA -< x8
        returnA -< x7
        returnA -< x6
        returnA -< x5
        returnA -< x4
        returnA -< x3
        returnA -< x2
        returnA -< x1
        returnA -< x0