問題タブ [recursion-schemes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
idris - Idris2 で CV-Coalgebra を作成するにはどうすればよいですか?
Haskellでは、私は書くことができます
しかし Idris はdata
. 彼らはで動作しますrecord
。つまり、私は書くことができます
しかし、私が正しく理解していれば、複数のバリアントを持つことはできません。解決策はありますか?
functional-programming - メンドラー スタイルのパラモーフィズムで無限ループを記述できますか?
ファンクターのフィックスポイントがある場合:
Fix f = Con (f (Fix f))
が ではない場合、(たとえば を使用して) 無限ループを簡単に記述できるため、関数out : Fix f -> f (Fix f)
を使用するのは安全ではありません。f
Functor
f x = x -> x
Fix
私の質問:メンドラー スタイルのパラモーフィズムでしか排除できない場合 (f
が でなくてもFunctor
)、無限ループを書くことは可能ですか?
Mendler スタイルのパラモーフィズムでは、次のタイプを考えています。
が実際にファンクタであるout
場合にのみ記述できるため、答えはノーです。f
つまり、mpara
任意の で安全に使用できf
ます。私は正しいですか?