import extensions; public singleton program { inner() { console.printLine(new CallStack()) } middle() { self.inner() } outer() { self.middle() } // program entry point function() { program.outer() } }