0:00 / 0:00
#taglessfinal#scala#higher-kindedtypes
Tagless Final - Part 4.2 - Why The F[_]
DevInsideYou
13K subscribers • 47 videos on Hallway
- Recommended by 1 person: 1 in engineering communities.
- Linked in the descriptionDevInsideYou/tagless-final
Advanced. Deep dive for people who know the field.
2.7K views6 years ago1 recommendation
Programming languagesSoftware designFunctional programmingScalaDesign patterns
An explanation of higher-kinded types and the F type parameter in Scala's tagless final pattern.
In this video we will see why the letter F is used and no it has nothing to do with the word "final". We will also see how easy it is NOW to extend our designs and we will even talk a little about category theory. The commit from this video is here: github.com/DevInsideYou/tagless-final/commit/f266873ffe98952… The code for the entire series is here: github.com/DevInsideYou/tagless-final The Cats' Functor Hierarchy is here: cdn.rawgit.com/tpolecat/cats-infographic/master/cats.svg Structure and Interpretation of Computer Programs (SICP): web.mit.edu/alexmv/6.037/sicp.pdf Oleg Kiselyov's website: okmij.org/ftp/ The "Typed Tagless Final Interpreters" paper from Oleg Kiselyov's website: okmij.org/ftp/tagless-final/course/lecture.pdf If you decide to follow along with the paper, this might help: gist.github.com/OlivierBlanvillain/48bb5c66dbb0557da50465809… The "Extensible Denotational Language Specifications" paper by Robert Cartwright and Matthias Felleisen: pdfs.semanticscholar.org/321c/a540ce3a9beed5db54c8f8047191b8… This video is part of the following playlist: youtube.com/playlist?list=PLJGDHERh23x-3_T3Dua6Fwp4KlG0J25DI Table of Contents: Introduction Overspecified interpreters Extending with accumulative error handling Clean up and commit Lessons learned Why the F[_]? Let's not forget about IO Why all hierarchies start with Functors? TF can be scary Website: devinsideyou.com Patreon: patreon.devinsideyou.com Discord: discord.devinsideyou.com Telegram: telegram.devinsideyou.com Twitter: twitter.devinsideyou.com GitHub: github.devinsideyou.com LBRY: lbry.devinsideyou.com Install scripts: install.devinsideyou.com Giter8 templates: g8.devinsideyou.com Spotify concentration playlist: code.radio.devinsideyou.com Cheers and Happy Coding! #tf #Scala #tutorialWhy it's here
1 person recommends thisu/agilesteelin r/functionalprogramming • Recommends
Tagless Final - Part 4.2 - Why The F_