Skip to content

Latest commit

 

History

History
193 lines (123 loc) · 12.1 KB

RecursionSchemas.MD

File metadata and controls

193 lines (123 loc) · 12.1 KB

Recursion Schemes

Algebra, Coalgebra, ElgotAlgebra

Fixpoint types

Fix

case class Fix[F[_]](unFix: F[Fix[F]])

Mu

Nu

Recursion schemas - Folds

Cathamorphism

  • Implementations ekmett/recursion-schemes cata gcata

  • Resources

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)
    • (Haskell) Catamorphisms Folding data structures - Edward Kmett: (blog post)
    • (Haskell) - Catamorphisms - Edward Kmett: (article)

Paramorphism

  • Implementations ekmett/recursion-schemes para gpara

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Zygomorphism

  • Implementations ekmett/recursion-schemes zygo gzygo

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Histomorphism

  • Implementations ekmett/recursion-schemes histo ghisto

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Prepromorphism

  • Implementations ekmett/recursion-schemes prepro gprepro

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Recursion schemas - Unfolds

Anamorphism

  • Implementations ekmett/recursion-schemes ana gana

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Apomorphism

  • Implementations ekmett/recursion-schemes apo gapo

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Futumorphism

  • Implementations ekmett/recursion-schemes futu gfutu

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Postpromorphism

  • Implementations ekmett/recursion-schemes postpro gpostpro

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Recursion schemas - Refolds

Hylomorphism

  • Implementations ekmett/recursion-schemes hylo ghylo

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)
    • (Haskell) Generalized Hylomorphisms - Edward Kmett (blog post)
    • Stalking a Hylomorphism in the Wild - Bartosz Milewski (blog post)
    • Open Season on Hylomorphisms - Bartosz Milewski (blog post)

Chronomorphism

Synchromorphism

  • Implementation Synchro

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Exomorphism

  • Implementation Exo

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Metamorphism Erwig

  • Implementation Erwig

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Metamorphism Gibbons

  • Implementation Gibbons

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)

Dynamorphism

Elgot algebra

  • Implementations ekmett/recursion-schemes elgot

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)
    • (Haskell) Elgot (Co)Algebras - Edward Kmett (blog post)

Elgot coalgebra

  • Implementations ekmett/recursion-schemes coelgot

  • Resources:

    • (Haskell) Recursion Schemes: A Field Guide (Redux) - Edward Kmett: (blog post)
    • (Haskell) Elgot (Co)Algebras - Edward Kmett (blog post)