Servant: Web APIs at the Type Level
Servant is a Haskell library that implements a domain-specific language for web APIs at the type level. By specifying the API as types, you get a clean separation of HTTP logic and the value-level handlers. Also, since the type checker has knowledge about the various endpoints and where they live, it will be able to verify that all handlers return the correct types and headers, and that internal URIs are correct.
Erlend Hamberg started a on computer engineering degree to learn about systems programming and hardware, but veered slightly off course and ended up with a degree in computer science with a specialization in artificial intelligence. He briefly returned to his former passion of low-level programming, working on GPU drivers, but was never able to let go of the power and elegance of functional programming and ended up climbing back up the abstraction ladder. When he is not in front of a computer you can find him in the Oslofjord, kayaking.