Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries. He is a partner at fsharpWorks where he provides trainings and consulting services. Tomas' PhD thesis at the University of Cambridge focused on context-aware programming, but his most recent writings also includes two essays try to understand programming through the perspective of philosophy of science.
The idea of literate programming is to combine program code with explanation in a natural language, so that the entire source code can be read as an explanation of how the program is constructed and what it does. Literate programming is useful in a wide range of areas:
- you can write literate scripts to document how a library works
- you can use it to explain the logic behind complex calculations or mathematical models
- you can use it to write data analysis that is executable and produces the final report
- and as a bonus, you can use it to generate slides for your programming talks!
In this talk, I'll talk about the F# tools for literate programming, including the F# Formatting library (which parses literate F# and Markdown), ProjectScaffold (a template for projects that lets you write literate documentation) and FsReveal (a tool for creating presentation using F#). You'll learn useful things about documenting your (not just F#) code and about writing understandable code and data analyses.