namespace; include rt; fn fact(n) { if (n < 2) return 1; return n * fact(n - 1); } // prints in binary, like the old asm example void bin(n) { if (n > 1) bin(n >> 1); rt.put_c('0' + (n & 1)); return; } void main() { bin(fact(10)); rt.put_c(10); rt.put_n(fact(10)); rt.put_c(10); return; }