MuniHac 2023

MuniHac 2023

July 7–9, 2023 • on-site in Munich

About MuniHac

MuniHac is an annual three-day hackathon and conference in Munich that brings together Haskell developers and enthusiasts from across the globe. This event offers a unique opportunity to improve your Haskell skills, network with experts in the community, and participate in a range of workshops, talks, and projects for both beginners and experienced developers.

This year, MuniHac will be co-located with Big Techday 23,TNG's conference on science and IT at Motorworld Munich, on Friday, July 7th. MuniHac participants are invited to attend and listen to talks from world-class speakers and explore exciting exhibits. There will be a dedicated MuniHac track with a distinct focus on Haskell development. On Saturday and Sunday, we will continue MuniHac with hacking and workshops as usual at the premises of TNG Technology Consulting GmbH, located at Beta-Straße 13a (Unterföhring, Munich).

If you're unable to attend in person, most talks will be streamed via Zoom.us, the link will be provided on the Big Techday agenda page. You can also catch up on most talks on YouTube after the event.

Speakers & Workshops



Christiaan Baaij — QBayLogic

Haskell at the Heart of Terabit Laser Communication

In this talk, we'll explore how Haskell addresses challenges in high-speed laser data transmission between ground stations and satellites. We'll discuss atmospheric-induced signal deformations and the use of adaptive optics with segmented mirrors to counteract them. The crucial role of wavefront sensors operating at 5 kilohertz for managing terabit-level throughput will be highlighted.

We'll focus on mirror segment calibration, including computing 256 two-dimensional gravity points in a 3-microsecond timeframe. To overcome limitations of standard processors, we'll describe our use of the Clash compiler to transform Haskell to low-level VHDL in order to create a suitable FPGA configuration. Join us to gain insights into Haskell's efficient application and its combination with the Clash compiler in high-performance computing scenarios. A key section of the talk will be dedicated to our methodical approach in Haskell, starting from a high-level specification and refining it to a detailed specification that meets the performance requirements of 3 microseconds. Our goal is to provide a deep understanding of how Haskell, in combination with the Clash compiler, can be efficiently applied in high-performance computing scenarios.



Ryan Trinkle — Obsidian Systems

React + Reflex: Harmonizing TypeScript and Haskell with Functional Reactive Programming

Learn how to combine the best of both TypeScript and Haskell for frontend development. For TypeScript developers, you will learn how to take the reactive principles that made React successful to the next level with pure Functional Reactive Programming (FRP). For Haskell developers, you will learn how to easily integrate with the broader JavaScript ecosystem.

(Slides available on Google Slides)



Simon Marlow — Meta

Glean: query your code

Code indexing is the technology underlying many of the essential tools in the developer's workflow, from IDEs to code search to analysis tools. But code indexing is fragmented: it's usually done differently for each language and even each tool. Technologies like LSIF aim to unify across languages, but are aimed at specific tools or use cases. Glean is an open-source code indexing system we're building at Meta that fills the gaps: scaling to multiple languages, to very large codebases, and crucially including a flexible and powerful query language ("Angle") designed specifically for querying data about code. In this talk I'm going to cover the design of Glean and in particular its interesting query language, and also cover some of the ways that functional programming was useful in building Glean.



Andres Löh — Well-Typed LLP

Workshop: Parser Combinators

In this introductory workshop on parser combinators we will:

  • Sketch how parser combinators work
  • Contrast simple hand-written parser combinators with a production-ready library such as megaparsec
  • Show how to use parser combinators to parse some simple languages
  • Discuss some of the pitfalls one can run into when using parser combinators

This workshop should mostly be understandable for Haskell beginners. Parsers are a compelling non-trivial application of typical abstraction patterns such as applicative functors and monads and can therefore be helpful in order to build more intuition with these concepts

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.