I don&#x27;t use Tcl but that looks nice.<p>&gt; <i>You can do concurrency on a single thread. This is the message I find it hard to get across when explaining CSP concurrency libraries.</i><p>Heck, there&#x27;s an entire language built around single-threaded concurrency! Compiles to C, coincidentally - it targets embedded platforms. It&#x27;s not quite CSP style though, it takes after Esterel and uses synchronous reactive concurrency:<p><a href="http:&#x2F;&#x2F;ceu-lang.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;ceu-lang.org&#x2F;</a><p>However, as soon as you have multiple Céu programs communicating (for example, multiple Arduino&#x27;s) the program-to-program communication is fairly CSP-like.