anchor.diff:  
   (defparameter *parser-list* nil)
   
  +(defparameter *run-hooks* nil)
  +
   (defmacro define-parser (name ll &rest body)
     `(progn (defun ,name ,ll (lambda () ,@body))
  -			 (defparameter ,name (function ,name))
   			 (push ',name *parser-list*)))
   
   (defmacro parse (string form)
  
positive.code: ;; (author this-code) => (:name "Dylan Ball" :email "Arathnim@gmail.com")
  
  (declaim (optimize (speed 3) (safety 0) (debug 3) (space 0)))
  ;; (declaim #+sbcl(sb-ext:muffle-conditions style-warning))
  (ql:quickload '(alexandria iterate anaphora) :silent t)
  (defpackage wernicke (:use cl alexandria iterate anaphora))
  (in-package wernicke)
  
  ;; data
  
negative.code: 
  (define-parser str (string)
     (iter (for char in-string string)
           (for parse-result = (run-parser (chr char)))
           (on-failure parse-result (leave parse-result))
           (finally (return string))))
  
  