Explicit and Implicit Parallel Functional Programming: Concepts and Implementation