Text this: Symbolic Computing with LISP and Prolog