June 14, 2019 at École Polytechnique Fédérale de Lausanne
The eight Typelevel Summit will once again be co-located with Scala Days. Read more about all events in the blog post from the Scala Center.
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!
Keynote: Some Mistakes We Made When Designing Implicits (And Some Things We Got Right)
We will talk about the history how Scala's implicits evolved, and about some of the mistakes we could have avoided in hindsight, but also about things that I believe we got right. I'll conclude with a presentation of revised implicits in Scala 3 w...More
Brave New World - tales of PureScript and Haskell in production
The rumours are true. Writing code in purely functional languages tends to produce code that is much easier to read, modify and reason about. This talk examines how an experienced Scala team transitioned into writing production code using PureScri...More
Actors Design Patterns and Arrowised FRP
Object-oriented design patterns combine basic language features to solve coding problems in an extensible way. In functional Scala, we solve those coding problems with functions, combinators, and type-classes, so design patterns are less relevant....More
Taking Resources to the Type Level
With the Granule project, we are working towards making statically typed functional languages more resource-aware, hence providing a way to enforce stateful protocols regarding memory, file handles, network interaction, etc. Static enforcement of ...More
Lunch Break at Le Parmentier
Lord of the rings: the Spire numerical towers
Spire defines around 80 typeclasses, including 30 coming from algebra and cats-kernel. We’ll see how much of that structure is dictated by mathematical laws, and which parts are the result of design decisions that balance different tradeoffs. In p...More
Formal verification of Scala programs with Stainless
Everyone knows that writing bug-free code is fundamentally difficult, and that bugs will sometimes sneak in even in the presence of unit- or property-based tests. One solution to this problem is formal software verification. Formal verification al...More
Exploring Scala Tooling ecosystem
We are going to explore and compare some build tools with special focus on LSP/BSP implementations, IDEs and text editor support. To help the audience’s judgement about the tools that are suitable for their particular needs this talk aims to get a...More
TwoFace values: a bridge between terms and types
Scala 2.13 introduces literal types, and with great types comes great thirst for power to control them. In this talk we get acquainted with the singleton-ops library, a typelevel programming library that enables constraining and performing operati...More
GADTs in Dotty
GADTs (Generalized Algebraic Data Types) are a special case of ADTs (or Dotty enums) that, when we match on them, let us know more about type parameters to enclosing functions. In practice, they are mostly used to associate types with data constru...More
Want to Diversify the Scala Community? Here is How You Can Help!
The Scala community has grown significantly over the past 15 years. As a community, we wrote millions of lines of code and developed hundreds of projects. While the language is thriving, there is still room to contribute to the community. Differen...More
The Summit will take place at EPFL in Ecublens, building CO, lecture hall CO2. You can find a detailed plan at plan.epfl.ch. Please note that this is a different venue than Scala Days!