We are meeting once a month to share knowledge of and experience with Haskell.
Each time, one of us presents a topic, be it a library, a programming technique, development tools, or internals of GHC or other implementations. The format varies depending on the topic and the presenter between hands-on workshops, discussions and lectures.
Prior knowledge certainly helps, but we definitely don't require you to be an expert to join and/or to present a topic. The only thing that is important is that you are interested in Haskell and that you are eager to learn more.
HaskellerZ is organized by the Zurich Friends of Haskell (http://zfoh.ch/).
Note that we've recently had to turn on moderator approval for new members. This is solely to deal with a relentless wave of spam that has hit Meetup; and everyone is still welcome to join.
Haskell is a great language for building EDSLs, partly due to its capabilities to overload various parts of its syntax. But, what if you want to go further? What if you want custom syntax? Or compile to a custom core language? For the DAML project we had exactly those requirements. In this talk we'll explain how we repurpose GHC to achieve them.
One of our main objectives is to reuse as much of GHC as possible with as few modifications as necessary. In particular, we do not want to touch the type checker since that is a complex and regularly changing part of the compiler. Consequently, changing any of GHC's ASTs is not an option. This desire heavily conflicts with the need to compile our custom syntax to corresponding constructs in our core language. This core language is basically System F plus primitives to define, create, query and archive smart contracts. The key idea to achieve this transportation without changing any of the ASTs is to desugar our custom syntax to standard Haskell constructs and recover them during the final conversion from GHC's core language to our custom core language.