This book investigates the relation between the two conflicting goals of explicitness and abstraction, for the implementation of parallel functional languages and skeletons. The first part describes the implementation of the parallel Haskell extension Eden in layers of increasing abstraction. The author derives a minimal monadic sublanguage for elementary parallel coordination, and discusses a generic runtime system for parallel computations, major parts of which are Haskell. The second main part concentrates on parallel skeletons - abstract algorithmic patterns with parallel implementation. Exemplarily, the author discusses implementations for data parallel skeletons (map, map-reduce, Google-MapReduce), and for topology skeletons, which describe interaction and communication in regularly structured process networks. The book is an in-depth study of parallel functional programming, both for researchers interested in the first part, and for professionals seeking new impulses for practical development of parallel programs. It shows that functional languages provide a suitable abstraction level to reason about parallel programming and to circumvent its complexity.