

Viktor Dukhovni on "Types, Nats, and Wire Formats"
Melbourne Compose is the monthly in-person meetup for functional programmers in Melbourne, every 3rd Thursday of the month in Carlton.
Our August meeting will be 6:00-8:00 pm Thurs 20th of August at our regular venue, Activity Room 2 at Kathleen Syme Center in Carlton. Arrive from 5:30 for chat and socialising, talks start start at 6:30pm. Please RSVP via Luma.
Viktor Dukhovni will present on:
Types, Nats, and Wire Formats
Type-level programming and extensibility in the Haskell dnsbase stub resolver library
The dnsbase stub resolver library, written in Haskell, is modernised revision of Kazu Yamamoto's "dns" library (GHC 7.x 2010-06). The "dns" library modelled DNS records via an ADT, with discete constructors for each support RR type. This made for poor extensibility, especially with new open RR types such as SVCB and HTTPS whose key/value fields introduce new value data types as new RFCs are published. In "dnsbase" existential quantification replaces the fixed form ADT and additional type-level machinery is used to make the library's set Of supported DNS types extensible at runtime. This talk will hightlight some of the techniques that make this possible.
As always, newcomers welcome. Contact Ben on 0407 990 094 if you need assistance finding us on the night.
Hope to see you there :)
-Ben Hutchison & John Walker