Opal programming language and reference implemtation