anchor.diff:  			      (find char +space-characters+))))
       (unread-char char stream)))
   
  +;; (defmacro skip-spaces (stream)
  +;;   (declare (ignore stream))
  +;;   nil)
  +
   (let ((nr 0)
         (char #\ ))
     (declare (type fixnum nr)
  
positive.code: 
  (defparameter *hash-table* (make-hash-table :test 'equal))
  
  (defun read-hash (stream &optional (hash-table (make-hash-table :test 'equal)))
    "reads a key-value pair into the hash"
    (loop do (setf (gethash (read-key stream) hash-table) (read-value stream))
       until (progn (skip-spaces stream) (string= (read-char stream) #\}))) ; we may read-char here, as the character is a , to be skipped if it is not a }
    hash-table)
  
  (let ((nr 0))
    (declare (type fixnum nr))
  
negative.code: 
  (defun read-json (stream)
    (skip-to stream #\{)
    (read-object stream))