The functional programming language "Haskell" has been instrumental in researching the design of compilers, type systems, and advanced programming language features for more than 2 decades, but in recent years it has also become increasingly popular with red-blooded software engineers who worry about practical tasks like developing client/server systems, standalone applications, cryptography, finance solutions, or REST application back-ends. As it happens, openSUSE offers outstanding support for the Haskell language ecosystem and is therefore an ideal platform for discerning Haskell hackers who develop commercial-grade solutions. Both Tumbleweed and Leap support a whopping 2,200 Haskell packages that cover the entire LTS Haskell standard version 8.x. Furthermore, there exists a sophisticated infrastructure to easily maintain and update a package set of that size, which guarantees that important new releases make it into the distribution with a minimal delay.
In this presentation, we would like to describe the current state of Haskell packaging in openSUSE, covering the following topics in particular:
1. Introduce Haskell briefly and explain why it kicks ass.
2. How can I install and set up a Haskell development environment with openSUSE Leap or Tumbleweed?
3. How can I package and deploy my own Haskell applications on openSUSE with the Open Build Sevice?
4. How does the underlying infrastructure work ("cabal2obs") that makes all this possible?
The target audience for this presentation are Haskell programmers who would like to get started using openSUSE, openSUSE users who would like get started with Haskell, and packagers who would like to get insights into an endeavor that maintains and updates several thousand spec files without major human intervention.