31 lines
666 B
Ada
31 lines
666 B
Ada
generic
|
|
type Argument_1 (<>) is limited private;
|
|
type Argument_2 (<>) is limited private;
|
|
type Argument_3 (<>) is limited private;
|
|
type Return_Value (<>) is limited private;
|
|
|
|
with function Func
|
|
(A : in Argument_1;
|
|
B : in Argument_2;
|
|
C : in Argument_3)
|
|
return Return_Value;
|
|
package Curry_3 is
|
|
|
|
generic
|
|
First : in Argument_1;
|
|
package Apply_1 is
|
|
|
|
generic
|
|
Second : in Argument_2;
|
|
package Apply_2 is
|
|
|
|
function Apply_3
|
|
(Third : in Argument_3)
|
|
return Return_Value;
|
|
|
|
end Apply_2;
|
|
|
|
end Apply_1;
|
|
|
|
end Curry_3;
|