このタイプを単純化するにはどうすればよいですか?
-
28-10-2019 - |
質問
ジェネラコディセタグプレ
このタイプを減らすための秘訣はありますか?そこに冗長なx
があります。
モナドは型クラスです:(Set -> Set) -> Type
解決
これは短いですが、それほど便利ではありません... ジェネラコディセタグプレ
なぜこれをもっと短くしたいのか、必要なのかわかりません。すべてのものにその重要性があり、周りに投げかけられたいくつかの名前もそれを読むのに役立ちます。
このliftM2は可能な限り軽量に見えます。
ただし、すべてがいくつかのパラメーターを共有する多くの関数を定義している場合は、セクション内で定義でき、その中にパラメーターを含めることができます。たとえば、liftM2がどのように定義されているかをここで確認してください:
http://mattam.org/repos/coq/oldprelude/Monad.v
mon : Monad m
はセクション内で定義され、実際にそれを使用するすべての関数に渡されます。セクションが閉じられたら、署名をチェックして、実際に渡されていることを確認できます。
他のヒント
ジェネラコディセタグプレ
または ジェネラコディセタグプレ
2つ目は暗黙の引数の順序を変更しますが、それは合理的だと思います。
`{}構文の説明については、
所属していません StackOverflow