I wrote a brief article in Ada Letters (Volume XVIII,
Number 4 [July/August 1998], pages 107-110) that
describes a tasking/protected object solution to
the sieve problem. Each prime number was a task
ands the integers being examined were a protected
array. The purpose of the implementation was to
introduce graduate students to a real high-level
multi-processing programming language. They also
had to implement the sieve in John Backus's FP as
well as Prolog.

Tasks were originally used for the sieve to test
dynamic loading of large-scale multi-processing
computers.

                                    Bob Collins