This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Saturday, November 12 • 10:40am - 11:00am
This programmer modeled his code after wooden nesting dolls. What happens next will amaze you.

Sign up or log in to save this to your schedule and see who's attending!

Recursion has been called the GOTO of FP, yet we use it constantly – every `List` operation, every event loop, and myriad other places – it litters our code. So, how can we tame it? Can we at least contain it, if not eliminate it entirely? This talk introduces a new Typelevel library intended to free us from primitive recursion. Matryoshka contains a family of folds, unfolds, and transformations that can be applied to any recursive structure. We’ll learn how to separate the recursion from our logic and write “flat” operations that are more readily checkable by the compiler. We’ll also look at how the library allows us to fuse many transformations into one, handle short-circuiting, and even annotate data structures for free.

avatar for Greg Pfeil

Greg Pfeil

software engineer, SlamData
Greg was introduced to Scala about two years ago by SlamData, where he writes purely-functional Open Source compilers. Prior to that, he was consulting, working primarily in Common Lisp and Haskell for most of a decade. Aside from working on SlamData’s Quasar core, Greg spends time on Matryoshka, Idris, and developing his own languages (which he’s happy to talk your ear off about).

Saturday November 12, 2016 10:40am - 11:00am

Attendees (39)