Journey in the World of Types
This month we have a special guest coming to Kraków. Mateusz Kuboszok will take us to the world of TYPES. We will start with the fundamental question of "what is type?" and end up with more involved ones like "how to implement kind projectors using structural and path-dependent types".
There will be two related talks: beginner-level and advanced one.
1. Introduction to types
This one will cover some foundations:
- types and sets,
- how type inference works,
- what are algebraic data types,
- relation between types and classes,
- type constructors.
As such it is aimed at beginners that are familiar with Scala's syntax, but feel their knowledge about types is a bit unstructured.
2. All you need to know about types in Scala
...assuming, you already know the basics ;) [see above!]
Here, we'll discuss some more advanced stuff, some of which is what gives Scala an advantage over many other languages:
- kinds and higher-kinded types,
- type constraints,
- variance,
- existential types,
- structural and refined types,
- path-dependant-types,
- kind-projectors.
Between both parts there will be a one-be(v)er(age) break to refresh and network.
Bio:
Mateusz is a software engineer that likes math and correctness. He has been programming in Scala for 3 years, wrote a few small libraries and articles.