I did a lot of work with transputers and occam in the 1980s and wrote an OS for a machine that used them. The exposure to the CSP way of thinking was a blessing. occam-2 on the other hand was a little too primitive.
I remember when Inmos marketing came up with "We wanted to make occam the FORTRAN of parallel processing". My response was "You have." (a reference to occam-2 having only static arrays and no concept of a record/struct)
They had a functioning compiler and decided to concentrate on other areas and it's not too uncommon for a languages's compiler to NOT be written in that language. Afterall Rust relies on the non-Rust LLVM.
Same area, many of the same people, but at a different studio, FAME. MSS was a spin off due to various "fights". I did some recording, with Spooner and David Hood, at both places, a few years back. I really liked FAME, the room is fantastic but MSS has a great vibe.
Did some recording there a couple of years back. Not a bad room but the studio itself is mostly a museum these days and our engineer had to do a bit of work to get it functioning well enough for our purposes. In the area there are a number of great studios, e.g. Fame, Nutthouse but MSS is closer to a really, really good fried chicken place!
At home I use buckling springs (Unicomp model M style plugged into an iMac) - I live alone and can make lots of typing noise. In the office its a Filco with some color Cherry switch I forget but its a lot better than the keyboard that came with the box they supply.
A variant of this has been my PS1 since the 90s (yes, mostly on workstations with a GUI by then [Sun,NeXT,HPUX etc...]). Unfortunately bash doesn't like a lone ';' without something before it ("-bash: syntax error near unexpected token `;'") so I've had to use ':; ' with it (I like its use of readline, emacs user since Gosling's in the early 80s).
Triple-click, middle-click (for xterm and others that do that) is efficient and easy. The csh-inspired '!!' can work nicely too though.
A great engineer and hacker. I've recorded (bass) through his circuits numerous times over the decades.
I don't know if it was his idea or not but I always loved the Portico 5042 tape emulator. Want the sound of tape? Then run the signal through some tape heads. A proper "hack".
I really wish Go's select had guard clauses. The need to nil channels feels like a hack. However I haven't actually had much need for them but haven't written many things that would need them.
I do miss PAR's synchronization semantics, which Go programmers know as the "sync.WaitGroup" idiom. Given the number of times I see Go developers asking about synchronizing goroutine termination perhaps having some form of concurrent control structure atop 'go' could help. Or maybe not - they'd just start asking about their inability to terminate :) At least PAR is easy enough to simulate (I wrote myself a little 'par' package to hide the WaitGroup manipulations with functions/closures as the [CSP] process bodies).
I did a lot of occam in the 1980s working with transputer-based machines (I wrote a sort of OS for the system our company was building to target TV/film animation). At the time Inmos marketing came up with the line "We want to make occam the FORTRAN of parallel processing." My response, referring to occam's lack of data structuring, was, "You have."