anchor.diff:                           (output '*standard-output*) (error '*error-output*))
                           &body body)
     "Start gnuplot, bind STREAM and *COMMAND-STREAM* to its standard
  -input. The stream is closed when BODY exits."
  +  input. The stream is closed when BODY exits."
     `(with-command-stream ((start-session :display ,display :geometry ,geometry
                                           :persistp ,persistp :output ,output
                                           :error ,error))
  
positive.code: 
  (defgeneric write-command (command stream)
    (:documentation "Write the gnuplot COMMAND to STREAM. Commands
  represented by the classes PLOT, SET-COMMAND, etc."))
  
  (defgeneric write-mapping (mapping stream)
    (:documentation "Write the gnuplot MAPPING to STREAM."))
  
negative.code: (defclass data-mapping (mapping)
    ((data :initarg :data :reader mapping-data))
    (:documentation "Consider plot '-', sin(x). For gnuplot '-'
    indicates inline data that will be read from the command stream
    after all mappings are read. The DATA slot of this class holds an
    object that can be serialized by WRITE-DATA."))
  
  (defclass file-mapping (mapping)
    ((filename :initarg :filename :reader filename))
    (:documentation "When the data comes from a file. As in plot
    'filename' title 'something'."))
  
  
  