1 # This file is part of NIT ( http://www.nitlanguage.org ).
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 # This module provides functional type to represents various function forms.
16 # Function types can hold up to 20 arguments. The type `Fun` is for function
17 # (input and output) and `Proc` is for procedure (input but no output).
18 # This file is automatically generated, do not edit it manually.
19 module functional_types
31 fun call
: RESULT is abstract
39 fun call
(a0
: A0): RESULT is abstract
43 fun call
(a0
: A0) is abstract
45 class Fun2[A0,A1,RESULT]
47 fun call
(a0
: A0,a1
: A1): RESULT is abstract
51 fun call
(a0
: A0,a1
: A1) is abstract
53 class Fun3[A0,A1,A2,RESULT]
55 fun call
(a0
: A0,a1
: A1,a2
: A2): RESULT is abstract
59 fun call
(a0
: A0,a1
: A1,a2
: A2) is abstract
61 class Fun4[A0,A1,A2,A3,RESULT]
63 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3): RESULT is abstract
65 class Proc4[A0,A1,A2,A3]
67 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3) is abstract
69 class Fun5[A0,A1,A2,A3,A4,RESULT]
71 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4): RESULT is abstract
73 class Proc5[A0,A1,A2,A3,A4]
75 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4) is abstract
77 class Fun6[A0,A1,A2,A3,A4,A5,RESULT]
79 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5): RESULT is abstract
81 class Proc6[A0,A1,A2,A3,A4,A5]
83 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5) is abstract
85 class Fun7[A0,A1,A2,A3,A4,A5,A6,RESULT]
87 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6): RESULT is abstract
89 class Proc7[A0,A1,A2,A3,A4,A5,A6]
91 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6) is abstract
93 class Fun8[A0,A1,A2,A3,A4,A5,A6,A7,RESULT]
95 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7): RESULT is abstract
97 class Proc8[A0,A1,A2,A3,A4,A5,A6,A7]
99 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7) is abstract
101 class Fun9[A0,A1,A2,A3,A4,A5,A6,A7,A8,RESULT]
103 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8): RESULT is abstract
105 class Proc9[A0,A1,A2,A3,A4,A5,A6,A7,A8]
107 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8) is abstract
109 class Fun10[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,RESULT]
111 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9): RESULT is abstract
113 class Proc10[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9]
115 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9) is abstract
117 class Fun11[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,RESULT]
119 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10): RESULT is abstract
121 class Proc11[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10]
123 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10) is abstract
125 class Fun12[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,RESULT]
127 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11): RESULT is abstract
129 class Proc12[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11]
131 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11) is abstract
133 class Fun13[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,RESULT]
135 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12): RESULT is abstract
137 class Proc13[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12]
139 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12) is abstract
141 class Fun14[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,RESULT]
143 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13): RESULT is abstract
145 class Proc14[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13]
147 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13) is abstract
149 class Fun15[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,RESULT]
151 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14): RESULT is abstract
153 class Proc15[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14]
155 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14) is abstract
157 class Fun16[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,RESULT]
159 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15): RESULT is abstract
161 class Proc16[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15]
163 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15) is abstract
165 class Fun17[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,RESULT]
167 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16): RESULT is abstract
169 class Proc17[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16]
171 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16) is abstract
173 class Fun18[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,RESULT]
175 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16,a17
: A17): RESULT is abstract
177 class Proc18[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17]
179 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16,a17
: A17) is abstract
181 class Fun19[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,RESULT]
183 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16,a17
: A17,a18
: A18): RESULT is abstract
185 class Proc19[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18]
187 fun call
(a0
: A0,a1
: A1,a2
: A2,a3
: A3,a4
: A4,a5
: A5,a6
: A6,a7
: A7,a8
: A8,a9
: A9,a10
: A10,a11
: A11,a12
: A12,a13
: A13,a14
: A14,a15
: A15,a16
: A16,a17
: A17,a18
: A18) is abstract