A Tail of TwoTails: The Second Act - Owein Reese

A talk given at the NYC Typelevel 2017 conference detailing the inner workings of the TwoTails compiler plugin and follow on efforts to make a more generalized algorithm for source code transformation. Not shown is the inverted colors of the slides so that the audience could see them through the mid-morning glare.

scala.bythebay.io: Owein Reese, Don't Blow Your Stack: Recursive Functions for Beginners in Scala

An introductory talk I gave about recursion, geared towards those who have never written it. Also, encountered quite a bit of technical difficulty.

Owein Reese - TwoTails for the Price of One: A Scala Compiler Plugin

Where I introduce version 0.2.0 of TwoTails. Due note, as of 0.3.0 I've fixed the major issues and it works for the generalized case.

Autolifts: Automatic Type-Derived Lifting by Owein Reese

I give a first peek at the library Autolifts and discuss some of the things it attempts to solve with a brief but relevant theoretical background on the concept of "lifting" as it applies to functions. I'm a bit bummed that the Q&A which followed was not captured in the video as there were some great demo's (like a 64 level Option of Option of ... of Int being mapped.)

Dependent Types: Through The Looking Glass

A small talk given at North East Scala Symposium. The 1rst section is a great example of "why dependent types" in Scala and what benefits you can gain out of using them in code. However, as happy as I was about the 1rst section,  I left out the one slide that really drove home the message of the 2nd and 3rd portions of the talk. The one concept which connected everything together.

Introduction to Dependent Types in Scala - Owein Reese of MediaMath

A talk given at several different Meetups around the country: New York, Chicago and Boston. This talk focused more on the "how to" of dependent types as found in Scala. It is intended for intermediate to advanced Scala developers or those new to Scala but familiar with Template Meta-programming in languages like C++.