Past Meetup

Artyom Kazak on OverloadedLabels; Eric Torreborre on a new approach to modules

This Meetup is past

45 people went

Wire / Zeta Project

Rosenthaler Straße 40 · Berlin

How to find us

Enter the passage right next to the restaurant “Hackescher Hof”. Look for the grey door on your right, inside the passage. Ring the bell labelled “Wire/Zeta Project”. Take stairs/elevator to 5th floor. Call matthias (+49 179 7733 223) if you're lost.

Location image of event venue

Details

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/