Meta-Programming in Logic Programming by Harvey Abramson