を使用して、F、カレー(uncurry(G))= Gを=私は2つのML機能 fun curry f x y = f(x, y);
fun uncurry g (x, y) = g x y;
を持っていると私は uncurry(curry(f)) = f
を証明したいuncurry証明したいです と curry(uncurry(g)) = g
私は、検索エンジンのサイトを検索し、何も私を
: 狭める操作が柔軟と呼ばれ、一方、剛性と呼ばれるresiduate操作。定義されたすべての演算は柔軟性がありますが、算術演算のようなほとんどのプリミティブ演算は、推測が合理的なオプションではないため、剛性があります。 Prelude> x ++ [3,4] =:= [1,2,3,4] where x free
Free variables in goal: x
Result: succes
ロダッシュフロー関数は実際の合成関数ですか、それとも1つのようなものですが、高速で実行されるように最適化されていて、私が期待する柔軟性を犠牲にしていますか?私はフローがカレー可能な関数を返すことを期待していましたが、代わりにJavascriptのargumentsキーワードを使用する関数を返しました。だからカレーは保留中の引数があるとは言えず、すぐに呼び出されます。 直感的に十分な仕事: var
私は述語ロジックの式を表す標準データ型を持っています。和のための自然演繹除去規則を表す関数は次のようになります。 d_el p q =
if p =: (Dis r s) && q =: (Neg r) then Just s else
if q =: (Dis r s) && p =: (Neg r) then Just s else
Nothing where r