I am a Tech Lead at FaberNovel Technologies, where I work on hypermedia REST APIs, semantic web tooling, and distributed systems, mostly in Scala. I'm also a Ph.D. student at the Department of Computer Science of AGH-UST. My research interests include agent-based computations, functional programming and distributed computing.
You write a Web service. You need to document the structure of the JSON blobs used by your API. You realize that this documentation must be consistent with your JSON protocols and that you don’t want to maintain both separately. Instead, you’d like to derive the documentation from the implementation of the protocols. How to achieve that?
I will present some technical approaches to solve this problem, digress about type classes, algebraic data types and the expression problem, and eventually end up with a simple yet powerful solution to get documentation consistent with the implementation.