Zainab Ali

Functional programmer

Zainab is a functional polyglot and educator. As well as all things functional, she's interested in the art of writing good technical documentation. She is currently working on aquascape (https://zainab-ali.github.io/aquascape/), an interactive documentation project for the fs2 functional Scala streaming library.

When programming, documentation typically takes a back seat to development. There are good reasons for this: docs are hard to maintain, as well as write, and the tools for working with them can be painful. But writing documentation is very similar to writing code: it's just that we don't have a great language for it yet. This talk posits that docs are programs. If so, what does their ideal programming language look like? To address this, we treat documentation as an artefact produced by compilation. Like a programming pipeline, a doc pipeline has phases, symbols and errors, but that it also has unique concerns around structure and flow.

In the search for our ideal language, we'll explore Pollen in Racket, Elixir Livebooks, mdoc and Laika in Scala, and see how these tools influence our experience. At the end, we'll have a vision of what writing docs could be. You might not enjoy writing docs, but you'll improve your workflow and even be inspired to develop your own doc tooling.


←Back