Joyce was an amazing language; it's a concurrent Pascal version which uses (synchronous) communication channels like CSP (instead of monitors as in Brinch Hansen's earlier languages), and it supported indirect naming of channels and recursive processes even before Newsqueak, which eighteen years later became Go.