Curry

A functional logic programming language with many implementations.