on March 23, 2017 at 26 Bridge Street, Brooklyn
The third Typelevel Summit will once again be co-located with the Northeast Scala Symposium in New York City, with one day of recorded talks and one day of (shared) unconference. The Summit will happen on March 23, NE Scala on March 24, and finally, the unconference on March 25.
The Summits are open to all, not just current contributors to and users of the Typelevel projects, and we are especially keen to encourage participation from people who are new to them. Whilst many of the Typelevel projects use somewhat “advanced” Scala, they are a lot more approachable than many people think, and a major part of Typelevel’s mission is to make the ideas they embody much more widely accessible. If you’re interested in types and pure functional programming we’d love to see you here!
This is a community conference and we strive to make it an inclusive and fulfilling event for all participants. All attendees, speakers, and organizers must abide by the Typelevel Code of Conduct.
Time | Talk |
---|---|
8:15 |
Registration & Breakfast |
9:00 |
Opening Remarks |
9:15 |
Keynote: LiquidHaskell: Liquid Types for Haskell
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical systems, like aircrafts or medical equipment, even a single bug can lead to catastrophic impacts such as injuries or death. Formal verification can b... More |
10:15 |
Break |
10:30 |
Introduction to Recursion Schemes
Recursion is one of the most fundamental tools in the functional programmer’s kit. As with most fundamental tools, it’s quite powerful, and likely, too powerful for most applications. Abstracting away the explicit recursion from algorithms can mak... More |
11:10 |
A Tale of Two Tails: The Second Act
TwoTails is a compiler plugin written to add support to Scala for mutual tail recursion. While Trampolines or trampolined style recursion solve the direct need, they require explicit construction by a developer and add overhead in the form of addi... More |
11:30 |
Break |
11:45 |
Scalable data pipelines with shapeless and cats
The data pipeline is the backbone of most modern platforms. Not only is it important to make sure your pipeline is fast and reliable but, a team also needs to be able to deploy new endpoints quickly. This talk uses inductive implicits and typeclas... More |
12:25 |
Frameless: A More Well-Typed Interface for Spark
With Spark 2.0, Spark users were introduced to the Dataset API, which sought to combine the static guarantees of types (much like in RDDs) with enhancements from Spark SQL’s Catalyst optimizer, which were previously only available to more a weakly... More |
12:45 |
Lunch Break |
14:00 |
Easy and Efficient Data Validation with Cats
Often when we create a client/server application, we need to validate the requests: can the user associated to the request perform this operation? Can they access or modify the data? Is the input well-formed? When the data validation component in ... More |
14:40 |
Finding the Free Way
Free Monads are quickly being adopted as the best technique for developing in a pure functional style. Unfortunately, the details for how to best apply them is often left as “an exercise for the reader.” Recently my team began using Free Monads to... More |
15:00 |
Break |
15:15 |
A Type Inferencer for ML in 200 Lines of Scala
Scala is both acclaimed and criticized for its type inference capabilities. But most of this criticism stems from Scala’s object-functional nature, so how does type inference look like and work in functional languages without objects, such as Stan... More |
15:55 |
Extensible Effects: A Leaner Cake for Purely Functional Code
Purely functional algorithms and data structures are one thing, but purely functional program architectures are a completely different beast. Constructors and dependency injection frameworks compete in the object oriented landscape; in Scala, we h... More |
16:30 |
Break |
16:45 |
Let the Scala compiler work for you
Programming in some languages can feel like you’re working for the compiler - the type checker is naggy, the type system limiting, and much of your code is extraneous. This is backwards. The compiler should be working for you, helping you check yo... More |
17:25 |
Adopting Scala: The Next Steps
Six months into learning Scala, I summarised my experience and delivered a talk to help others going through the same process. This covered effective learning methods, an initial list of topics, and some tips so that others could be effective quic... More |
17:45 |
Closing Remarks |
18:00 |
After party at the venue hosted by Tapad |
We’d like to thank all our sponsors who help to make the Summit happen: