anchor.diff:  
   ;;; % DERIVED MEASUREMENT UNITS
   
  -#+NIL
  -(defclass derived-measurement (measurement)
  -  ;; ???
  -  ())
  +;; (defclass derived-measurement-class (measurement-class)
  +;;   ((base-scale
  +;;     :initarg :base-scale
  +
  +
  +;; referencing [NIST SP811]
  +
  +(defclass foot (measurement)
  +  ;; prototypical, derived measurement unit
  +  ()
  +  (:metaclass length)
  +  (:print-name . "foot")
  +  (:print-label . "ft")
  +  (:base-factor . 1200/3937)
  +  (:symbol . :|ft|)
  +  #+OBJECT-ANNOTATION
  +  ;; ^ towards a concept similar to OWL annotation properites
  +  ;; in an application for annotation of Common Lisp objects,
  +  ;; ...towards something perhaps somewhat more specialized than
  +  ;; symbol plists, and onto "The Semantic Web" etc
  +  ;;
  +  ;; Here, just a small usage example, for denoting an exact "source 
  +  ;; resource" from which a measurement conversion ratio has been
  +  ;; derived, manually, by the author:
  +  (:annotation
  +   ;; #i<IRI> reader macro (TBD)
  +   (:defined_by #i<http://physics.nist.gov/pubs/sp811/> B.6 42)
  +   ;; ^ specifically SP811 section B.6 (p. 42)
  +   ))
  +
  +(register-measurement-class (find-class 'foot))
  +
  +;; (base-magnitude (make-measurement 1 :|ft|))
  +;; => 1200/3937 i.e meters
  +;;
  +;; (float 1200/3937 pi)
  +;; => 0.3048006096012192d0
  +;; ^ approximately 0.30408 as per SP811
   
   
   
  
positive.code: See also: 
  * `measurement-degree'
  * `measurement-magnitude'")
    (:method ((instance measurement))
      (values 10)))
  
  
  (defun base-magnitude (m)  
  
negative.code:   ;; NB. This function implements a numeric conversion on
    ;; a basis of of prefix magnitude. Conversions per ratios of derived
    ;; units must be implemneted seperately.
    
    ;; FIXME: This was designed specifically around base units, and as
    ;; such, assumes that M is already factored to a base unit
    (declare (type measurement m)
             (values real))
    (let* ((deg (measurement-degree m))
  	 (unit (class-of m))
  	 (expt-base (measurement-factor-base unit))
  	 (base-factor (measurement-base-factor unit))
  	 (base-factor-degree (measurement-base-factor-exponent unit))
  	 (base-mag (* (measurement-magnitude m)
  		      base-factor
  		      (expt expt-base base-factor-degree))))
      
      (cond 
        ((zerop deg) (values base-mag))
        (t (values (* base-mag
                      (expt expt-base deg)))))))
  
  
  ;; (base-magnitude (make-measurement 1 :|m| 3))
  ;; => 1000
  
  ;; (base-magnitude (make-measurement 1 :|m| -3))
  ;; => 1/1000
  
  ;; (base-magnitude (make-measurement 1/5 :|m|))
  ;; => 1/5
  
  ;; (base-magnitude (make-measurement 1/5 :|m| -3))
  ;; => 1/5000
  
  
  