Principles of programming languages (source code)

= Principles of programming languages
{scope}
{title2=A12079W1}

Solutions to all three questions of the paper dated 11 June 2015.<Principles of Programming Languages examination paper by the University of Oxford (2015)>[Cover and pp. 2–8, A12079W1]{ref} In the equations below, $r_m$ and $\mathbin{\triangleright_m}$ denote the base <computational monad>'s result and sequencing operations. All equalities of computations are extensional: apply both sides to the same remaining arguments. <Haskell> fragments use `result` and `bind` for the paper's $\operatorname{result}$ and $\mathbin{\triangleright}$. The `FunMem` programs use the language's own syntax.