anchor.diff:     (elements
       :initform (list)
       :accessor elements-of
  -    :type list)
  -   (capacity
  -    :initargs :capacity
  -    :accessor capacity-of
  -    :type (or (integer 0)
  -	      (eql :keyword)))))
  +    :type list)))
   
   
   
   
   (defmethod fits? ((buf buffer) (obj object))
  -  (> (capacity-of buf)
  -     (+ (size obj)
  -	(size (elements-of buf)))))
  +  t)
   
   
   (defmethod full? ((buf buffer))
  -  (= (size (elements-of buf))
  -     (capacity-of buf)))
  +  nil)
   
   
   (defmethod empty? ((buf buffer))
  -  (zerop (size (elements-of buf))))
  +  (null (elements-of buf)))
   
   
   (defmethod n-input ((buf buffer) (new object))
  
positive.code: (defpackage :org.altervista.rjack.de-sim.buffer
    (:nicknames :de-sim.buffer)
    (:use :common-lisp :de-sim.core :de-sim.util)
    (:export))
  
  (in-package :de-sim.buffer)
  
  
negative.code: 
  
  (defclass buffer (object)
    ((description
      :initform "buffer")
     (notifications
      :initform (list #'n-input
  		    #'n-output))
     (subscribable-states
      :initform (list :input
  		    :output
  		    :full
  