Correlation famously does not imply causation! But how then can we answer interventional questions such as "Does smoking cause cancer?" or even counterfactual ones as "If I had left one minute earlier, would I have managed to arrive on time?" This is the subject of Causal Inference, as pioneered and formalized by Judea Pearl. In my talk, I want to focus on how such problems can be modelled and solved using tools from programming languages theory.
I will aim to give a general introduction to causal inference from a programmer's point of view. I will then present work-in-progress from an ongoing collaboration dedicated to the extension of a probabilistic programming language to a causal probabilistic programming language; this includes operational semantics, a type system and denotational semantics using graded monads.