Functional Parallel Programming. A term rewriting language which unifies functional programming and parallel programming. Every object is a term and every computation is done by rewriting. Rewrite rules are used to specify algebraic data types and parallel processes.
["Term Rewriting as a Basis for the Design of a Functional and Parallel Programming Language. A Case Study: The Language FP2", Ph. Jorrand in Fundamentals of Artificial Intelligence, LNCS 258, Springer 1986, pp. 221-276].