Tomas Petricek

Long time F# enthusiast, author of Real-world Functional Programming and computer science PhD student

Tomas is an academic, open-source developer and a book author. He is a lecturer at University of Kent and works on making programming with data easier. He also studies history of programming and writes about it from a philosophical perspective. Previously, Tomas wrote a popular F# book "Real-World Functional Programming", helped to create a number of F# open-source libraries such as F# Data and created coeffects (, a theory of context aware programming languages. His most recent work includes programming tools for data journalism (, but also three essays that understand programming concepts such as types, monads and errors from philosophical perspective (

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.

Video ←Back