// The factoral function in continuation-passing style, in Java // sestoft@dina.kvl.dk 2002-04-03 interface Cont { void k(int v); } class Factorial { public static void main(String[] args) { int n = Integer.parseInt(args[0]); facc(n, new Cont() { public void k(int v) { System.out.println(v); } }); } static void facc(final int n, final Cont cont) { if (n == 0) cont.k(1); else facc(n-1, new Cont() { public void k(int v) { cont.k(n * v); } }); } }