Another episode in the wire.com Haskell talk series. This time we will have two 45-minute talks.
# Eric Torreborre on a new approach to modules
At Zalando, we use a "modules-as-records-of-functions" to structure our services and share code. We need the ability to create components which can easily be wired together but also changed at will for unit or integration testing even if they are very far down in the dependency tree.
This talk will show how we approached this problem, started solving it with 2 simple type classes and a bit of Template Haskell but then came up with a much more simple way, relying on just one data structure!
Not only this makes reconfiguring applications a breeze but the same technique can be applied to Hedgehog generators where we can define a "compositional language" to modify existing generators for nested data structures. We can now express things like "generate a model of shoe with only the colour blue and 2 sizes".
# Artyom Kazak about OverloadedLabels
Artyom Kazak will give a talk on the -XOverloadedLabels extension and the flurry of usecases enabled by it – such as anonymous records, Python-like keyword arguments, and always-available lenses that you don't have to derive or write manually.
The talk will also foray into implementation details – expect some type-level programming and generics. Those are not necessary to actually use the features described above, so you can expect to learn something useful regardless of your skill level.
There will be some drinks and some time to chat after the talk.
This is a second talk of a series at wire.com. See also: https://www.meetup.com/berlinhug/events/vrbwhpyxgbxb/