Not only does this allow thread synchronisation, it is also a powerful command in its own right, and has potential uses in making even single-threaded programs more wonderfully convoluted than before. A more detailed explanation of the proposal is outlined below, with examples. This is a preliminary outline only. Discussion is invited. No shared data mechanisms are available.
All threads share the same code base.
New threads are created by using COME FROM statements. FROM statements are allowed for a particular line number. Execution of a Threaded Intercal program ends when all threads are destroyed. As the program code is shared, all reads and writes to the code base need to be atomic. The following addition to Intercal is proposed for this purpose.