When I run this thread from the command line, it produces no output: [arthur@host arthur]$ scheme -eval '(detach-thread (create-thread #f (lambda () (let next () (display "Foo!") (next)))))' MIT/GNU Scheme running under GNU/Linux Type `^C' (control-C) followed by `H' to obtain information about interrupts. Copyright 2003 Massachusetts Institute of Technology. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Image saved on Friday September 19, 2003 at 12:14:13 AM Release 7.7.90 || Microcode 14.11 || Runtime 15.3 1 ]=> ^D End of input stream reached Happy Happy Joy Joy. But when this same code is run from the REPL, it works perfectly: [arthur@host arthur]$ scheme MIT/GNU Scheme running under GNU/Linux Type `^C' (control-C) followed by `H' to obtain information about interrupts. Copyright 2003 Massachusetts Institute of Technology. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Image saved on Friday September 19, 2003 at 12:14:13 AM Release 7.7.90 || Microcode 14.11 || Runtime 15.3 1 ]=> (detach-thread (create-thread #f (lambda () (let next () (display "Foo!") (next))))) ;Unspecified return value 1 ]=> Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo!Foo! ^D