My first try was a kind of prank, after having heard of CoreWar, I started to write an executable denotational-styled Lisp adaptation of that game. It was called Struggle.
This first attempt towards multithreading pushes me to study the relationship between concurrency and first-class continuations. This was done in EUROPAL90b in a proposed dialect extending Scheme and called PolyScheme.
At that time I also offered some Scheme code to emulate
pcall and other
The subject was tempting so I pursued with SHPC91 where I introduced distribution in a Scheme-like extension now called Crystal-Scheme.
José Piquer and I wrote a description of TransPive, an implementation of a distributed Lisp José made at INRIA where he featured a new technique of distributed GC: "indirect reference count".
The subject becomes hotter so I produced a denotational semantics for a concurrent and distributed extension of Scheme now called CD-Scheme.
Finally, I stopped studying concurrency per se and focused on distribution.