Just as last year, we will offer an Advanced Track comprising two (completely independent) workshops at this year’s ZuriHac. This year’s ZuriHac will take place on the weekend of 13–14 June 2020, and it will be an online event. This means the two sessions are going to be streamed live to YouTube and are free to attend for everyone who is interested.
If you want to ask questions during the sessions or otherwise discuss the workshops in more detail, you should sign up for ZuriHac and join its Discord server if you have not already. More details on registration, the program, and how the setup with YouTube and Discord works will be available via the ZuriHac site.
The Advanced Track sessions are as follows:
Andres Löh: Datatype-Generic Programming
Saturday, 13 June 2020, 1400-1700 CEST (1300-1600 BST)
On Saturday, Andres Löh will lead a session on Datatype-Generic Programming in Haskell.
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 will 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 will involve 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 will not focus on explaining them in detail either; so having some basic familiarity with the syntax and semantics will be helpful.
Tobias Dammers: Haskell and Infosec
Sunday, 14 June 2020, 1400-1700 CEST (1300-1600 BST)
On Sunday afternoon, Tobias Dammers will lead a session on Haskell and Infosec.
In this workshop, we will 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.
We would be delighted to welcome you at these sessions or to discuss any interesting topics with you at ZuriHac.