Describing Prolog by its interpretation and compilation | Communications of the ACM | DeepDyve