Abstracting definitional interpreters (functional pearl) - Darais, David; Labich, Nicholas; Nguyen, Phúc C.; Van Horn, David (Proceedings of ACM on programming languages, 2017)