タグ付けされた質問 「recursion-schemes」

4
プログラミングの文脈で「代数」とはどういう意味ですか?
関数型プログラミングとPLTサークルで「代数」という用語を何度も聞いたことがあります。特に、オブジェクト、コモナード、レンズなどについて議論する場合はそうです。この用語をグーグルで検索すると、これらの構造の数学的説明が記載されたページが表示されますが、これは私にはほとんど理解できません。誰もがプログラミングの文脈で合同代数が何を意味するか、それらの重要性は何であるか、そしてそれらがオブジェクトとコモナードとどのように関連するか説明できますか?

3
ダミーのための再帰スキーム?
たくさんのリンクをたどったり、圏論の教科書を開いたりする必要のない、再帰スキームとコアカーションスキーム(カタモルフィズム、アナモルフィズム、ハイロモルフィズムなど)の非常にシンプルでわかりやすい説明を探しています。私はこれらのスキームの多くを無意識のうちに再発明し、コーディングの過程で頭の中でそれらを「適用」したと確信しています(私たちの多くが持っていると確信しています)が、私は(共)再帰スキームが何であるかわかりません使用と呼ばれます。(OK、私は嘘をついた。私はそれらのいくつかについて読んでいたので、この質問を促した。しかし、今日まで、私には手がかりがなかった。) プログラミングコミュニティ内でのこれらの概念の普及は、たとえばWikipediaだけでなく、他の場所でも見られる傾向のある禁止された説明や例によって妨げられていると思います。 それはおそらく彼らの名前によって妨げられています。いくつかの代替の、数学的な名前(バナナや有刺鉄線についての何か?)があると思いますが、私が使用する再帰スキームのよりかわいい名前が何であるかについてもわかりません。 二分木などの抽象データ型ではなく、単純な現実世界の問題を表すデータ型の例を使用すると役立つと思います。

1
修正とMu同型
でrecursion-schemes、パッケージは、次の種類が定義されています。 newtype Fix f = Fix (f (Fix f)) newtype Mu f = Mu (forall a. (f a -> a) -> a) それらは同型ですか?もしそうなら、どうやってそれを証明しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.