a language to unify mathematics and programming