munihac logo

MuniHac

MuniHac is a three day Haskell hackathon taking place from Friday 16th to Sunday 18th November 2018 in the beautiful city of Munich, hosted and sponsored by TNG Technology Consulting GmbH and co-organized by Well-Typed LLP. The Hackathon is intended to follow the tradition of other Haskell Hackathons such as the ZuriHac, HacBerlin, UHac and many others.

We have capacity for ~80 Haskellers to collaborate on any Haskell-related project they like. There will be beginner workshops and a mentor program to help you get started. Of course you can as well start hacking Haskell right away. Anyone is welcome to participate. Beginner or pro, we've got you covered :)

Hacking on Haskell projects will be the main focus of the event, but we will also have a couple of talks by renowned Haskellers. The MuniHac is furthermore a great opportunity to meet and socialize with fellow Haskellers and have a great time together. Among other things, we are looking forward to having BBQ, pizza and a traditional Weißwurstfrühstück.

Doors will open at 9am CET on Friday 16th and close at 5pm CET on Sunday 18th November 2018.

picture of participants

Keynotes

The Curious Case of Pattern-Match Coverage Checking

Ryan Scott

Patterns in Haskell are useful, but they're prone to issues such as incomplete and redundant patterns if used carelessly. Thankfully, GHC offers a very handy static analysis, called pattern-match coverage checking, which emits warnings if you use patterns recklessly. This talk explores the design considerations of coverage checking, considers some of the more challenging aspects of determining whether patterns are exhaustive, and even demonstrates some patterns that aren't checked correctly (as of GHC 8.6!) but will be soon.

Ryan is a Ph.D student at Indiana University, where he attempts to combine techniques from software verification and determinism (sometimes successfully!). He is also a key contributor to GHC, where he specializes in the areas of deriving, Template Haskell, pattern-match coverage checking, and various odds and ends in the typechecker. Through a series of strange coincidences, he is also a member of the Haskell Core Libraries Committee and maintains libraries ranging from criterion to singletons.

Beautiful Template Haskell

Matthew Pickering

Forget everything you know about Template Haskell. We will enter the beautiful world of Typed Template Haskell where its only possible to construct well-scoped and well-typed terms. Why? By writing our program in multiple stages, we can guarantee to eliminate the interpretative overhead caused by abstraction.

Matthew will give an introduction to Typed Template Haskell and then describe some examples of how to construct abstract and efficient programs using techniques from multi-stage programming. We will construct an "efficient" power function and also give a sketch of how to implement a SQL query compiler as inspired by the functional pearl "A SQL to C Compiler in 500 Lines of Code".

Matthew is a PhD student at the University of Bristol focusing on program generation with applications to optimisation. In the quest to write the perfect program he has become a regular contributor to GHC where he has recently been working on making the compiler easier to extend by using source plugins.

A low-latency garbage collector for GHC

Ben Gamari

As real-time and distributed systems become common-place, latencies associated with memory management begin to limit the usability of garbage collected languages. In particular, the Glasgow Haskell Compiler has long relied on a throughput-oriented copying garbage collector; while this collector provides good memory locality for user programs, minimal fragmentation, and efficient collection, it imposes large latencies when collecting large heaps.

Recent language implementations (e.g. Go, Mono, various Java implementations) have moved away from have avoided the problem of garbage collection latency through use of concurrent collection on a non-moving heap. In this talk Ben will provide a high-level overview of a concurrent, non-moving garbage collector implemented for the Glasgow Haskell Compiler. This collector offers significantly improved pause times without the need for code recompilation and with minimal impact on program runtime. He will discuss the trade-offs implicit in the design, the challenges posed by collecting Haskell in particular, and present some preliminary performance measurements from a prototype implementation.

Ben uses Haskell in fields as diverse as applied machine learning, scientific data analysis, robotics control, and compiler engineering. He is an active contributor to the Glasgow Haskell Compiler with focus on code generation, Core optimization, and the runtime system, and has worked extensively towards bringing GHC to the ARM architecture.

He has experience implementing numerical methods for machine learning, with an eye towards leveraging Haskell’s strong type system to enforce correctness at compile-time. Ben has expertise developing high-performance distributed systems in a wide range of languages. Past projects include GPU-based modelling of high-energy particle interactions and an implementation of parallel machine learning algorithms for large-scale social network analysis.

He is completing a PhD in Physics at the University of Massachusetts and has publications spanning social network analysis, computational physics, and biophysics.

Projects

Schedule

Please note that all times are CET.

Friday, Nov. 16th, 2018
Time Hackathon Workshop
8:00 Doors open & Registration
8:30 Breakfast
9:00 Opening
9:15 Time for everybody to present their projects and/or find fellow Haskellers to work with
9:30 Hack on Beginner's Workshop
11:00 Keynote: Ryan Scott: The Curious Case of Pattern-Match Coverage Checking
12:30 Lunch
14:00 Hack on Beginner's workshop (continued)
15:30 Coffee & cake
17:00 Official end
19:00 After-hack get-together: Bei Mario (https://goo.gl/maps/dzu52Qvr3d62)
Saturday, Nov. 17th, 2018
Time Hackathon Workshop
8:30 Doors open & Breakfast
Hack on
11:00 Keynote: Matthew Pickering: Beautiful Template Haskell
12:30 Lunch
14:00 Hack on Datatype-Generic Programming
15:30 Coffee & cake
17:00 Official end
19:00 After-hack get-together: Prinz Alfons (https://goo.gl/maps/LgmLF4qnqn22)
Sunday, Nov. 18th, 2018
Time Hackathon Workshop
8:30 Doors open
Hack on
9:30 Traditional Bavarian Breakfast
11:00 Keynote: Ben Gamari: A low-latency garbage collector for GHC
14:00 Coffee & cake
14:30 Project presentations
17:00 Doors close

Contact

Want to keep in touch and receive updates about MuniHac? We have an account, a mailing list, and a Slack workspace.

You can reach us via email: munihac@tngtech.com.

Each participant will retain ownership of any and all intellectual and industrial property rights to his or her work created or used during the Hackathon.