Skip to content
0:00 / 0:00

#scala#recursionschemes#matryoshka

Jean Remi Desjardins: A Gentle Introduction to Recursion Schemes - λC 2016

LambdaConf

8.8K subscribers • 19 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2016 to 2021.
  • Presented by Jean Remi Desjardins

Intermediate. Assumes working knowledge.

2.1K views10 years ago2 recommendations

Programming languagesComputer scienceFunctional programmingData structuresAlgorithms

Jean Remi Desjardins introduces recursion schemes as an elegant technique for expressing recursive algorithms on nested data structures.

Recursion Schemes, popularized by the notorious paper Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire, is an very elegant technique for expressing recursive algorithms on arbitrarily nested data structures. This talk will offer a gentle introduction to the subject. We will begin by motivating its use and then follow through with some intuition for the concepts and finally walktrough some concrete examples. Only basic familiarity with functional programming abstractions will be assumed. The audience can expect to leave with a burning desire to write all their recursive data types in fixed point style.

Why it's here

2 people recommend this

What people say. Recommended as a gentle and clear introduction to recursion schemes and fixed point types in Scala.

u/gemelenin r/scala • Recommends

On “Data Structure in Scala for a Recursive data type”

I haven't use them personally, so only speaking from material I've seen: you may want to use recursive types (or schemas, or fixed point types) which are designed to cover the case you have. There is a recommended lib for that, Matryoshka. And for great intro, I'd recommend these presentations: [Pure Functional Database Programming with Fixpoint Types—Rob Norris ] [Jean Remi Desjardins: A Gentle Introduction to Recursion Schemes - λC 2016 ]

u/salamandrin r/scala • Recommends

On “Is there a good introduction to recursion schemes in Scala?”

This seems a good talk: link to this video By Jean Remi Desjardins who works at Slamdata. Given in 2016.