30 lines
578 B
Plaintext
30 lines
578 B
Plaintext
bundle Default {
|
|
class Test {
|
|
@f : static : (Int) ~ Int;
|
|
@g : static : (Int) ~ Int;
|
|
|
|
function : Main(args : String[]) ~ Nil {
|
|
compose := Composer(F(Int) ~ Int, G(Int) ~ Int);
|
|
compose(13)->PrintLine();
|
|
}
|
|
|
|
function : F(a : Int) ~ Int {
|
|
return a + 14;
|
|
}
|
|
|
|
function : G(a : Int) ~ Int {
|
|
return a + 15;
|
|
}
|
|
|
|
function : Compose(x : Int) ~ Int {
|
|
return @f(@g(x));
|
|
}
|
|
|
|
function : Composer(f : (Int) ~ Int, g : (Int) ~ Int) ~ (Int) ~ Int {
|
|
@f := f;
|
|
@g := g;
|
|
return Compose(Int) ~ Int;
|
|
}
|
|
}
|
|
}
|