A reference compiler for the Rose programming language