18 - 21 June 2019
Poznan, PL

Haskell Summer School

=<< Monadic Party >>=

Four days of Haskell nerding. Lunch included. Bring your laptop

About the event

Monadic Party is a four-days long Haskell summer school. Our vision is to teach in depth with each talk spanning multiple sessions. Because of the additional time at our disposal we can get deeper into each topic to show a larger part of the story behind the subject.

We will have three tracks, one for programmers that aren't experienced in Haskell and would like to learn it from the basic concepts. The other tracks are for people already familiar with the language and will present a selection of talks and workshops on a variety of topics. We will announce the list of topics after our call for speakers closes at the end of February.

For the attendees that arrive on the 17th, and we have a preparty lined up. Check a signup email for more details.

We chose Poznan to host the summer school because of its architecture, culture and nightlife. The venue is a recently restored lovely old building at Mlynska 12 where we have the whole highest floor at our disposal. So the only thing you need is a ticket, laptop and a place to sleep and you're good to go. Catered lunch, tea and coffee is included in the ticket price.

Check out the last year's website.

Getting There

We will hold the summer school at Mlynska 12, Poznan, Poland. The venue is in the Old Town, a walking distance from a town square. We would love to help you with choosing a place to stay. If you have any questions, please email us at team@monadic.party.

In terms of travel, WizzAir, Ryanair, Lufthansa and LOT all have a dense network of daily connections to and from the city. If you want to save some carbon dioxide, there are frequent train connections from Germany and inside Poland. Buses are also a good budget option with PolskiBus which operates a lot of routes in the region.

Inside the city of Poznan there is a good public transporation system with a dense network throughout the city.

About us

We're the organizers of Monadic Warsaw, Ewa Kruzynska and Michal Kawalec. With almost six hundred members it grew up to be one of the biggest Haskell meetups in Europe. We've had speakers and visitors from all over the world and we also host a YouTube channel. It is our way of popularizing functional programming and building a community of interested people. We are sure the summer school will give us as much fun as Monadic Warsaw.

Scholarship Programme

We are deligted to offer a means based scholarship programme. If you are financially unable to attend the summer school, we have a number of fully funded places available. Everything needed for you to attend is covered - travel to the event, accommodation and the ticket itself. The first edition was really successful, so we're really happy that we can continue offering it this year as well.

Scholarship applications are closed

Ryan Moore

Quantum Cyclocomplexitor in Chief at MX

Krzysztof Gogolewski

Works on Linear Types in GHC at Tweag

Alexey Kuleshevich

Software Engineer at FP Complete

Justin Woo

PureScript and memes

Edward Kmett

Tom Sydney Kerckhove

Technical Lead at FP Complete

Cristophe Scholliers

Professor in computer science at the University of Gent

Oleg Grenrus

Haskell Consultant at Well Typed, author of many libraries.

Laurens Duijvesteijn

Builds infrastructure at Channable

Talk Titles

Beginner

Christophe Scholliers:

A project based approach to learning Haskell

Abstract

This track consists of a crash introduction to Haskell, in two parts of theory and practice. In the theory, we start from scratch and finish with the concepts of functions, type classes and algebraic data types. Armed with this knowledge we switch to the exercise track where we will implement two small games: Snake and Tetris.

About the speaker

Christophe Scholliers is professor in foundations of programming languages at Ghent University. His current research is mainly situated in the field of parallel and distributed programming language abstractions.
Beginner

Ryan Moore:

Practical Cryptography with Haskell

Abstract

Students will spend 6 sessions learning to apply practical Haskell programming techniques to the field of cryptography. Together we will explore the fundamental building blocks of modern cryptographic and functional programming techniques. We will focus on domain driven development leveraging the powerful type system of Haskell. Beginner Haskellers are welcomed, but should have a working knowledge of basics, for example function definition and application, where and let blocks. We will explore the following topics: discrete probability, the one time pad, pseudorandom generators, building attacks on ciphers, as well as exploring real world stream ciphers. This will be a fun, and hands on course that will combine lectures focusing on Haskell and Cryptography fundamentals with hands on exercises, projects, and a capstone. Students will leave feeling confident in leveraging Haskell’s type system, writing their own types, using instances of functors, monoids and applicative and take away experience writing and breaking cryptography algorithms.

About the speaker

Ryan Moore is a lead engineer at MX - company dedicated to democratizing financial data. He has been programming Haskell for 3 years and loves it for its rigor, playfulness & consistency.
Beginner

Justin Woo:

Real World PureScript

Abstract

In these sessions, Justin will go through various techniques used to make "Real World" applications work in PureScript. Topics will include FFI, using PureScript outputs from JavaScript, and various ways Row Type Classes can be used, whether to create a clean PureScript library or to provide more powerful interfaces for weakly-typed JavaScript libraries. Participants will walk away understanding how libraries like Simple-JSON and React-Basic work.

About the speaker

Justin is a Korean-American living in Helsinki. In his previous life, he was a materials science student researcher, using lab equipment to create and characterize superhydrophic surfaces. He now works with PureScript on browsers and AWS Lambda. Justin is best known not for his PureScript ecosystem work or educational blog posts, but for his memes on Twitter.
Beginner

Tom Sydney Kerckhove:

Testing for beginners

Abstract

TBA

About the speaker

Professional Weirdo, more at https://cs-syd.eu
Intermediate

Oleg Grenrus:

Nitty-gritty details of programming language implementation

Abstract

In a short talk, it's impossible to dive into details of such large topic as implementing a programming language. Fortunately, there's plenty of time at Monadic Party to discuss some nitty-gritty details.

We will walk through a "real" programming language implementation, not very sophisticated but not a toy anymore, something like Dhall or Elm.

We'll discuss parsing various kind of syntax, working with abstract syntax trees, implementation of a type inference, and most importantly: this time good error reporting won't be left as an exercise.

And if time allows, we'll see what cool features we could add to a language, and what problems that poses to the implementation.

About the speaker

Haskell Consultant at Well Typed, author of many libraries.
Intermediate

Alexey Kuleshevich:

Haskell arrays with massiv

Abstract

If you are not used to the pure functional paradigm, then dealing with arrays in Haskell can be very unintuitive, the code you write can become inefficient, especially if you choose the wrong library or an incorrect data structure for the job.

Throughout the series of talks and workshops I will cover some concepts about native arrays that every Haskell programmer should understand as well as provide concrete examples on how to deal with multidimensional arrays using the `massiv` library. First lectures will start with basic topics, such as memory representations and how to properly handle mutation. Then we will transition into more advanced notions of fusion, stencils and other ways of avoiding unnecessary computation, while taking advantage of automatic parallelization. Besides looking at many simple examples we will have hands on experience developing a more complex application that will reinforce the understanding of concepts introduced earlier.

About the speaker

I have a master's degree in computer science from University of New Mexico. Currently work as a Software Engineer at FP Complete and have been for the past three years. Lately I’ve been spending a lot of time in the blockchain domain, but the types of projects I normally tackle at work vary drastically. Enjoy traveling, drinking beer and any free time I do find I tend to spend working on open source Haskell projects.
Intermediate

Laurens Duijvesteijn:

Haskell for boring software

Abstract

Haskell is fantastic for industry use. The language can give you some nice correctness guarantees. This peace of mind can make software feel boring (in a good way). I want to convince you of this claim.

In this talk/workshop series, I'll show you how to write small but useful applications in Haskell. We'll talk about common patterns you need in a production setting (e.g. JSON, HTTP, and databases).

About the speaker

DevOps Lead at Channable. Builds internal tooling. Likes his types as is his coffee: strong.
Advanced

Edward Kmett:

Guanxi - Logic Programming in Haskell

Abstract

I'll be giving a tour of the current state of the 'guanxi' library in Haskell. This is a framework I'm building for logic programming in the style of mini-Kanren.

About the speaker

I write a lot of Haskell.
Advanced

Krzysztof Gogolewski:

Linear types

Abstract

GHC is getting linear types. I'll cover how you can use them, which of the common functions and classes can be made linear, interactions with other features of the language, theoretical underpinnings, future directions.

About the speaker

Software engineer at Tweag, currently working at implementation of linear types in GHC.

More titles released in

=<< Partners >>=

Code of Conduct

We are following the Berlin Code of Conduct. If you ever feel it has been breached, do not hesitate to contact one of the organizers.