From Tool Calling to Symbolic Thinking: LLMs in a Persistent Lisp Metaprogramming Loop