Description

SWI Prolog has great concurrency primitives. For some common
operations, those primitives are too low level. You end up reading
through a lot of message queue and threading boilerplate code. This
library provides high level concurrency predicates which handle all the
messy details.