Next Meetup

Test-Driven Development of a Unification Algorithm
7pm: Test-Driven Development of a Unification Algorithm by Simon Meier "If it type checks, then it works." is a phrase that is true more often for Haskell code than for code written in other languages. Tests are though still needed! In particular for code which depends on conditions not captured by the type system. An example of such code is (first-order) unification [1], a classic algorithm used for example in type checkers, Prolog interpreters, and theorem provers. In this interactive live-coding talk, we'll together - revisit the theory of first-order terms, substitutions, and unification; - explore how to use hedgehog [2] to implement unification in a test-driven fashion; and - learn how to use ghcid [3] to get live test feedback. PS: In case you wonder: why unification? Blinded by the ease of writing (mostly) correct Haskell code, past-me was not very big into testing. During my PhD, I've learned the hard way that unification is one of the algorithms that has ample room for subtle mistakes -- and tests are absolutely a must! Back then, I've written a number of regression tests to capture the problems after the fact. This talk is the result of present-me exploring how TDD combined with modern property-based testing fares in detecting these subtle mistakes up-front.

Digital Asset

96 Spring Street, 7th Floor · New York, NY

2 comments

    Past Meetups (134)

    What we're about

    The NY Haskell Users Group is for all programmers either interested in or experienced with the Haskell programming language. We want to build a community of Haskell developers in the New York area that can share knowledge, projects, and experience, and to generally foster and encourage strongly typed functional programming, in all languages, all settings, and all industries. Our events center around talks, but we have also hosted social hours, code workshops, and a hackathon. Regular meetings are on the fourth wednesday of each month.

    We post videos of all talks on our YouTube channel (https://www.youtube.com/channel/UCzNYHE7Kj6pBqq5h8LG9Zcg)

    Members (2,054)

    Photos (144)

    Find us also at