Curry

Curry（カリー）は関数型プログラミングと論理プログラミングを一体にする目的で開発されたユニバーサルなプログラミング言語である。
特徴.
強い型付けに拠る言語であるが関数アノテーションの記述は必須ではない
同一の入力に対して異なる値を返すことができる
は未知の値を表わすが、それらはインスタンスを生成されるので評価可能である。