Recursion Scheme
再帰関数の再帰構造だけを抜き出して抽象化した概念
#WIP
色々なRecursion Scheme
Catamorphism
Anamorphism
Apomorphism
Hylomorphism
Metamorphism
Paramorphism
Zygomorphism
Mutumorphism
Histomorphism
Prepromorphism
Futumorphism
Postpromorphism
Chronomorphism
Dynamorphism
双対関係や派生関係をいい感じに図などにしたいmrsekut.icon
あった
https://gyazo.com/f0a41ff971a313621af4fbfd27a4a39a https://github.com/sellout/recursion-scheme-talk/blob/master/cheat%20sheet.pdf
「another」をクリックするたびにRecursionSchemeを表示するサイト
Recursion-scheme-generator
Haskellパッケージ
http://hackage.haskell.org/package/recursion-schemes
@lotz氏のRecursionSchemeアルゴリズム実装wiki
recursion-algorithms | a collection of various algorithms written using recursion schemes
関連
higher-order recursion scheme
higher-order recursion schemeは簡単に言えば “各非終端記号が引数を取れるように拡張された文脈自由文法で,かつ単純型がつくように制限されたもの” です ref
『Thinking Functionally with Haskell』
tweet
#??
まだ、「Recursion Scheme」が指すものがふわっとしているmrsekut.icon
単純なfibを書くときのような直接的な再帰のことではなく、抽象的な再帰のことを指している?
参考
/haskell-shoen/Recursion Schemes
ざっくり詳しい
おおい
Haskellのコードもある
参考文献に論文が載っているのも良い
『関数プログラミングの楽しみ』 3章
https://qiita.com/lotz/items/a69587882be6e987de4e
Insertion SortとSelection Sortは双対
https://myuon.github.io/posts/recursion-scheme/
https://qiita.com/inamiy/items/9af1da1faec22cd968f0
https://www.ipl-e.ai.kyutech.ac.jp/~muratak/docs/201909/jssst19_slide.pdf
https://twitter.com/emptst/status/1223166693519740928
https://twitter.com/igrep/status/1000914734172880896
https://github.com/sellout/recursion-scheme-talk
https://qiita.com/wataruY@github/items/5e93dc122b23ea5935ac
http://ziphil.com/diary/application/22.html
http://ziphil.com/diary/application/24.html
下方射、上方射
http://ziphil.com/diary/application/25.html
https://speakerdeck.com/lotz84/recursion-schemesdekao-erubing-beti-earugorizumu
http://newartisans.com/2018/04/win-for-recursion-schemes/
nix
https://recursion.wtf/posts/rust_schemes/
rust