
abstract class Function<A,R> {
    public abstract R call(A arg);
}

class Lambda {
    public static void main(String[] args) {

        Function<Integer,Integer> doubler = new Function<Integer,Integer>(){
            public Integer call(Integer arg) { return 2*arg; }};

        System.out.println(doubler.call(21));
    }
}
