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