Catala: a programming language for the law