hope interpreter from http://www.soi.city.ac.uk/~ross/Hope/