Curry is an experimental functional logic programming language, based on the Haskell language. It merges elements of functional and logic programming, including constraint programming integration.
Curry is developed as a universal programming language. It is closely related to Haskell but provides logic programming features. There are several implementations, and there are tools for both documentation and testing.