Tomas Petricek's blog

Writing about practical F# coding and programming language research

What can programming language research learn from the philosophy of science?

As someone doing programming language research, I find it really interesting to think about how programming language research is done, how it has been done in the past and how it should be done. This kind of questions are usually asked by philosophy of science, but only a few people have discussed this in the context of computing (or even programming languages).

So, my starting point was to look at the classic works in the general philosophy of science and see which of these could tell us something about programming languages.

I wrote an article about some of these ideas and presented it last week at the second symposium on History and Philosophy of Programming. For me, it was amazing to talk with interesting people working on so many great related ideas! Anyway, now that the paper has been published and I did a talk, I should also share it on my blog:

One feedback that I got when I submitted the paper to Onward! Essays last year was that the paper uses a lot of philosophy of science terminology. This was partly the point of the paper, but the feedback inspired me to write a more readable overview in a form of blog post. So, if you want to get a quick peek at some of the ideas, you can also read this short blog (and then perhaps go back to the paper)!

Published: Thursday, 10 April 2014, 5:16 PM
Tags: research, philosophy
Read the complete article

Recent articles from my blog

BREAKING: Open-source C# 6.0 released

Tuesday, 1 April 2014, 2:24 PM

At last, the long wait is fianlly over! After 4 years of waiting, the fully managed implementation of the C# compiler codenamed Roslyn has been finally released.

Solving fun puzzles with F#

Tuesday, 25 March 2014, 2:27 PM

Do you need to convince your friends and family that programming can be fun? Here is a story of how I managed to do that with F# at New Year's eve! I got a puzzle as a gift for Christmas and after a few days of failed attempts, I managed to solve it with F# in about 1 hour...

Advent Art: Generating Hokusai paintings

Tuesday, 21 January 2014, 6:49 PM

This article is a contribution to the F# Advent Calendar that is organized every year by the Japanese F# community - and so the article is inspired by the Japanese culture. We look at a list of Japanese artists in Freebase and try to recreate one piece using fractals and FunScript!

Coeffects: The next big programming challenge

Wednesday, 8 January 2014, 3:31 PM

This blog post is a tabloid-style introduction to my PhD thesis. I look at how practical motivations influence language design. One such practical motivation, that is becoming increasingly important, is capturing how program uses the context (or environment) where it runs. Coeffects are a way to track this property...

Find older blog articles here


I'm a computer scientist who enjoys combining theory and practice. On the theory side, I'm finishing PhD at the University of Cambridge, working on type systems. On the practical side, I write about F#, run trainings and provide occasional consulting.

Trainings, writing & consulting

I'm a frequent speaker at F# and .NET events, founding member of the F# Foundation author of C# and F# book, numerous articles and a StackOverflow addict. I have been Microsoft C# MVP since 2004 and I used F# since early Microsoft Research versions.

Have you seen the F# testimonials and are you thinking about learning and using F# of functional techniques?

Research & teaching

I'm interested in a wide range of topics in programming languages, ranging from category theory, comonads, reactive and distributed programming to scientific computing and working with data.

I like working on topics inspired by practical problems. I created a web framework for F# that inspired commercial projects like WebSharper and my experimental F# extensions can be tested live on

When the time permits, I enjoy traveling. The calendar shows a new picture each month since 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. See the first photos of 2014.