Implementation of a Functional Bulk Synchronous Parallel Programming Library