Thanks to the organisers for a wonderful event!
The videos of our sessions as well as the materials used in them are available online, so those who could not attend during the event itself can still do so by following the links below.
Datatype-Generic Programming (by Andres Löh)
Datatype-Generic programming is a powerful tool that allows the implementation of functions that adapt themselves to a large class of datatypes and can be made available on new datatypes easily by means such as “deriving”.
In this workshop, we focus on the ideas at the core of two popular approaches to generic programming:
generics-sop. Both can be difficult to understand at first. We build simpler versions of both approaches to illustrate some of the design decisions taken. This exploration will lead to a better understanding of the trade-offs and ultimately also make using these libraries easier.
This presentation involves various type-level programming concepts such as type families, data kinds, GADTs and higher-rank types. It’s not a requirement to be an expert in using these features, but I do not focus on explaining them in detail either; so having some basic familiarity with the syntax and semantics is helpful.
Haskell and Infosec (by Tobias Dammers)
In this workshop, we look at Haskell from an information security point of view. How do security vulnerabilities such as SQL Injection (SQLi) or Cross-Site Scripting (XSS) work? How does a hacker exploit them? What can we, as Haskell programmers, do to prevent them, and how can Haskell help us with that? And what principles can we extract from this to develop more security-aware coding habits?
No knowledge of or experience with information security is required for this course, but participants are expected to have a working knowledge of practical Haskell. If you can write a simple web application with, e.g., Scotty, you should be fine.
Other ZuriHac videos
Of course, there was more to ZuriHac than just the Advanced Track. If you haven’t yet, you might want to have a look at the YouTube playlist, which also contains all the keynotes as well as the lectures of the GHC track.