1 line
No EOL
8.1 KiB
JSON
1 line
No EOL
8.1 KiB
JSON
{"slug": "passy--awesome-recursion-schemes", "title": "Recursion Schemes", "description": "Resources for learning and using recursion schemes.", "github_url": "https://github.com/passy/awesome-recursion-schemes", "stars": "1.1K", "tag": "Theory", "entry_count": 53, "subcategory_count": 2, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Introductions", "url": "#introductions", "description": ""}, {"name": "Articles", "url": "#articles", "description": ""}, {"name": "Papers", "url": "#papers", "description": ""}, {"name": "Presentations", "url": "#presentations", "description": ""}, {"name": "Cheat Sheets", "url": "#cheat-sheets", "description": ""}, {"name": "Podcasts", "url": "#podcasts", "description": ""}, {"name": "Implementations", "url": "#implementations", "description": ""}, {"name": "Awesome Recursion Schemes", "url": "https://github.com/passy/awesome-recursion-schemes", "description": "A curation of useful resources for learning about and using recursion schemes.", "stars": "1.1k"}, {"name": "Practical Recursion Schemes", "url": "https://jtobin.io/practical-recursion-schemes", "description": ""}, {"name": "An Introduction to Recursion Schemes", "url": "http://blog.sumtypeofway.com/an-introduction-to-recursion-schemes/", "description": ""}, {"name": "Understanding Algebras", "url": "https://www.schoolofhaskell.com/user/bartosz/understanding-algebras", "description": ""}, {"name": "Recursion Schemes in JavaScript and Flow", "url": "https://medium.com/@JosephJnk/recursion-schemes-in-javascript-and-flow-with-static-land-recursision-schemes-97cf10599fb7", "description": ""}, {"name": "Recursion Schemes: A Field Guide (Redux)", "url": "http://comonad.com/reader/2009/recursion-schemes/", "description": ""}, {"name": "Catamorphisms", "url": "https://wiki.haskell.org/Catamorphisms", "description": "Definition on the Haskell Wiki."}, {"name": "Catamorphisms", "url": "https://www.schoolofhaskell.com/user/edwardk/recursion-schemes/catamorphisms", "description": ""}, {"name": "Rotating Squares", "url": "https://jtobin.io/rotating-squares", "description": "Using a hylomorphism to rotate a quadtree by Jared Tobin."}, {"name": "Recursion Schemes, Part V: Hello, Hylomorphisms", "url": "http://blog.sumtypeofway.com/recursion-schemes-part-v/", "description": ""}, {"name": "Promorphisms, Pre and Post", "url": "https://jtobin.io/promorphisms-pre-post", "description": "Practical examples of pre- and postpromorphisms by Jared Tobin."}, {"name": "Time Traveling Recursion Schemes", "url": "https://jtobin.io/time-traveling-recursion", "description": "Exploring histo and futu by example by Jared Tobin."}, {"name": "Recursion Schemes, Part IV: Time is of the Essence", "url": "http://blog.sumtypeofway.com/recursion-schemes-part-iv-time-is-of-the-essence/", "description": "Practical article about histomorphism and the futumorphism."}, {"name": "Cheat Sheet", "url": "https://github.com/sellout/recursion-scheme-talk/blob/master/cheat%20sheet.pdf", "description": "Map of various recursion schemes and their duals.", "stars": "204"}, {"name": "Correcting the Visitor pattern", "url": "http://logji.blogspot.co.uk/2012/02/correcting-visitor-pattern.html", "description": "Showing that the Visitor pattern implements an f-algebra for use with a catamorphism (in Java)."}, {"name": "Recursion Schemes in Scala", "url": "https://free.cofree.io/2017/11/13/recursion/", "description": "Introduces the fixpoint combinator, anamorphism, catamorphism, hylomorphism, paramorphism, apomorphism, histomorphism, dynamorphism and futumorphism."}, {"name": "What's in a Fold: The Basic Catamorphism in recursion-schemes", "url": "https://duplode.github.io/posts/whats-in-a-fold.html", "description": "Introduces catamorphism as a generalization of fold."}]}, {"name": "Hylomorphisms in the Wild", "parent": "Articles", "entries": [{"name": "Stalking a Hylomorphism in the Wild", "url": "https://bartoszmilewski.com/2017/12/29/stalking-a-hylomorphism-in-the-wild/", "description": "Advent of Code 2017, Domino challenge"}, {"name": "Open Seasons on Hylomorphisms", "url": "https://bartoszmilewski.com/2018/12/20/open-season-on-hylomorphisms/", "description": "Advent of Code 2018, String comparison challenge"}, {"name": "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire, 1991, Meijer et al.", "url": "http://maartenfokkinga.github.io/utwente/mmf91m.pdf", "description": ""}, {"name": "A Duality of Sorts, 2013, Hinze et al.", "url": "http://www.cs.ox.ac.uk/ralf.hinze/publications/Sorting.pdf", "description": ""}, {"name": "Sorting with Bialgebras and Distributive Laws, 2012, Hinze et al.", "url": "http://www.cs.ox.ac.uk/people/daniel.james/sorting/sorting.pdf", "description": ""}, {"name": "Scrap your boilerplate: a practical design pattern for generic programming, 2003, SPJ et al.", "url": "http://research.microsoft.com/en-us/um/people/simonpj/Papers/hmap/hmap.ps", "description": ""}, {"name": "Slidedecks by Tim Philip Williams", "url": "http://www.timphilipwilliams.com/slides.html", "description": ""}, {"name": "Unifying Structured Recursion Schemes", "url": "https://www.youtube.com/watch?v=9EGYSb9vov8", "description": ""}, {"name": "Recursion Schemes", "url": "https://www.youtube.com/watch?v=Zw9KeP3OzpU", "description": ""}, {"name": "F-algebras or: How I Learned to Stop Worrying and Love the Type System", "url": "https://www.youtube.com/watch?v=PK4SOaAGVfg", "description": ""}, {"name": "A Gentle Introduction to Recursion Schemes", "url": "https://www.youtube.com/watch?v=i5A2Amfcir8", "description": ""}, {"name": "recursion-scheme-talk", "url": "https://github.com/sellout/recursion-scheme-talk", "description": "Collection of slide decks about recursion schemes.", "stars": "204"}, {"name": "Bracer: Transforming Real-World Languages with Coproducts and Recursion Schemes", "url": "https://www.youtube.com/watch?v=5Kr7IykGMzU", "description": "High-level talk about structuring programs with coproducts and recursion schemes by Patrick Thomson."}, {"name": "Recursion: Where Functional Programming Hits Bottom", "url": "https://www.youtube.com/watch?v=24UoRaoKLjM", "description": "Introduction to recursive fix point data structures and recursion schemes in Haskell and Scala by Greg Pfeil."}, {"name": "Programming with algebras", "url": "https://www.youtube.com/watch?v=-98fR9VmLbQ", "description": "Bartosz Milewski's article in talk form, presented at LambdaCon."}, {"name": "Peeling the Banana: Recursion Schemes from First Principles", "url": "https://www.youtube.com/watch?v=XZ9nPZbaYfE\\&t=3s", "description": "Zainab Ali's Introductory talk presented at LambdaWorld."}, {"name": "The Hitchhiker's Guide to Morphisms", "url": "https://ipfs.io/ipfs/QmTppu1VDAQWsdiyVSZX6qb8PErdpwzNP2oKfEhcgaBvWR/guide-to-morphisms.pdf", "description": "Overview of different morphisms including a printable PDF."}, {"name": "Magic Read Along", "url": "http://www.magicreadalong.com/", "description": "Casual discussions about"}, {"name": "Scala Love", "url": "https://scala.love/", "description": "Podcast about Scala that brings up"}, {"name": "The Haskell Cast", "url": "https://www.haskellcast.com/", "description": "Recursion schemes come up in"}, {"name": "recursion-schemes", "url": "https://github.com/ekmett/recursion-schemes/", "description": "", "stars": "310"}, {"name": "Matryoshka", "url": "https://github.com/slamdata/matryoshka", "description": "", "stars": "795"}, {"name": "andyscott/droste", "url": "https://github.com/andyscott/droste", "description": "", "stars": "351"}, {"name": "recursion\\_schemes", "url": "https://github.com/vmchale/recursion_schemes/", "description": "", "stars": "60"}, {"name": "purescript-matryoshka", "url": "https://github.com/slamdata/purescript-matryoshka", "description": "", "stars": "57"}, {"name": "recursion", "url": "https://github.com/vmchale/recursion", "description": "", "stars": "8"}, {"name": "dada", "url": "https://github.com/sellout/dada", "description": "", "stars": "58"}, {"name": "static-land-recursion-schemes", "url": "https://github.com/JosephJNK/static-land-recursion-schemes", "description": "", "stars": "21"}, {"name": "Katalyst", "url": "https://github.com/aedans/Katalyst", "description": "", "stars": "22"}]}], "name": ""} |