anchor.diff:  		       :if-exists :supersede)
       (progn
         (format out "S = ~d~%" (get-states hstate))
  +      (format out " ~%")
         (format out "O = ~d~%" (get-observations hstate))
  -      (format out "I = <~%")
  +      (format out " ~%")
  +      (format out "I =~%")
         (pprint-array out (get-initial-distributions hstate))
         (format out "~%")
  -      (format out ">~%")
  -      (format out "T = <~%")
  +      (format out " ~%")
  +      (format out "T =~%")
         (pprint-matrix out (get-transition-matrix hstate))
  -      (format out ">~%")
  -      (format out "M = <~%")
  -      (pprint-matrix out (get-measure-matrix hstate))
  -      (format out ">~%"))))
  +      (format out " ~%")
  +      (format out "M =~%")
  +      (pprint-matrix out (get-measure-matrix hstate)))))
   
   (defun forward (hstate times o)
     "Forward algorithm."
  
positive.code:       (progn
  	(setf nums nil)
  	(dolist (num (split-per-space str))
  	  (push (parse-number num) nums))
  	(progn
  	  (setf nums (reverse nums))
  	  (push nums nums-m))))
  
negative.code: 		    (length (first lst)))
  	      :initial-contents lst))
  
  ;;; Only when we need to coerce ratio into double-float...
  ;;; Or I will keep floatint-point ratio...
  (defun parse-decimal (str &key (start 0) (end (length str)))
    (let ((sum 0)
  	(digit 0)
  	(in-float nil)
  	(float-depth 0))
      (do ((point start (1+ point)))
  	((>= point end))
        (cond ((and (>= (char-code (char str point)) (char-code #\0))
  		  (<= (char-code (char str point)) (char-code #\9)))
  	     (progn
  	       (setf digit (- (char-code (char str point)) 48)
  		     sum (+ (* sum 10) digit))
  	       (if in-float
  		   (incf float-depth))))
  	    ((= (char-code (char str point)) (char-code #\.))
  	     (if in-float
  		 (error "Invalid number format.")
  		 (setf in-float t)))
  	    (t
  	     (error "Invalid number format."))))
      (/ sum (expt 10 float-depth))))
  
  (defun delimiterp (c)
    (or (char= c #\Space)
  