このページの内容

Awesome Recursion Schemes

Recursion Schemesを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

入門

  • Awesome Recursion Schemes - Recursion Scheme の学習と利用に役立つリソース集です。
  • 実践 Recursion Schemes - Pattern Functor、Fixpoint、Anamorphism、Catamorphism、Paramorphism、 Hylomorphism を、前提知識をほとんど必要とせず紹介します。
  • Recursion Scheme 入門 - Recursion Scheme をゼロから発見し、Edward Kmett のライブラリの 小さなサブセットを実装する3部作です。
  • Algebra を理解する - Bartosz Milewski が F-Algebra を解説し、Catamorphism の文脈で 使用する方法を示します。
  • JavaScript と Flow の Recursion Scheme - 関数型プログラミングの経験が少ない開発者向けに、JavaScript の Recursion Scheme と関連概念を紹介するシリーズです。

記事

実世界の Hylomorphism

Hylomorphism を適用して小さな実用問題を解く、Bartosz Milewski の記事です。

論文

発表

早見表

Podcast

実装

  • recursion-schemes: Haskell 向け - Edward Kmett による標準的な実装です。
  • Matryoshka:Scalaz を使う Scala 向け - Fixpoint データ構造の一般化された Fold、Unfold、Traversal です。
  • andyscott/droste:Cats を使う Scala 向け - Fixpoint データ構造の一般化された Fold、Unfold、Traversal です。
  • recursion_schemes: Idris 向け。Edward Kmett の Haskell ライブラリを基にしています。
  • purescript-matryoshka:PureScript 向け - 開発中の Matryoshka 移植版です。
  • recursion:ATS 向け - ATS による Recursion Scheme の実演です。
  • dada:Dhall 向け - Dhall の Recursion Scheme ライブラリです。
  • static-land-recursion-schemes:JavaScript/Flow 向け - flow-static-land のスタイルで記述されたデータ構造用 Scheme です。
  • Katalyst:Kotlin 向け - 軽量な高 Kind 多相を使い、Matryoshka を再構想したものです。

ライセンス

このコンテンツは CC0 の下で 提供されています。