Distributed Evaluation of Functional BSP Programs