name: inverse layout: true class: typelevel --- class: center, middle, hero .title[ ## Fighting SI-2712 with dependent types and type level continuation passing ### Miles Sabin, [@milessabin](http://twitter.com/milessabin) [](http://typelevel.org) ] --- class: center, middle .exclaim[ # Wait! What? ] --- class: center, middle .exclaim[ # SI-2712 Fixed! ] --- class: center, middle, hero .title[ ## Fighting SI-2712 with dependent types and type level continuation passing ### Miles Sabin, [@milessabin](http://twitter.com/milessabin) [](http://typelevel.org) ] --- class: center, middle, hero .title[ ## ~~Fighting SI-2712 with dependent types and type level continuation passing~~ ### Miles Sabin, [@milessabin](http://twitter.com/milessabin) [](http://typelevel.org) ] --- class: center, middle, hero .title[ # Fixing SI-2712 ## Making the compiler we want ### Miles Sabin, [@milessabin](http://twitter.com/milessabin) [](http://typelevel.org) ] --- class: center, middle # What _is_ SI-2712? --- class: center, middle # How do we fix it? ## (rational reconstruction) --- # Current status ... * https://github.com/scala/scala/pull/5102 * https://github.com/milessabin/si2712fix-demo * https://github.com/milessabin/si2712fix-plugin * http://gitter.im/typelevel/general * http://milessabin.com/blog --- class: center, middle # Reflections --- class: middle ```text @milessabin: The really depressing thing is, looking at the patch, we could have fixed this years ago. @runarorama: Yeah. I remember seeing Paul's comment on this and thinking "that's reasonable, somebody should try it" @milessabin: Ditto, but nobody did. @runarorama: :-( ``` --- class: center, middle # What will _you_ fix next? --- class: center, middle # Questions? --- class: center, middle, hero .title[ # Thank You ## Miles Sabin, [@milessabin](http://twitter.com/milessabin) ### http://typelevel.org/ [](http://typelevel.org) ]