 
 (add-context-input-format :burmeister
                           (fn [rdr]
-                            (= "B" (.readLine rdr))))
+                            (= "B" (read-line))))
 
 (define-context-output-format :burmeister
   [ctx file]

(defn- find-tag [seq-of-hashes tag]
  (first (find-tags seq-of-hashes tag)))

(defn- trim [str]
  (.trim str))

(defn- hash-from-pairs [pairs]


(define-context-input-format :colibri
  [file]
  (with-in-reader file
    (loop [objs #{},
           inz  #{}]
      (let [line (read-line)]
        (cond
         (not line)
         (make-context-nc objs (set-of m [[g m] inz]) inz),
         (or (re-matches #"^\s*$" line)     ; blank
             (re-matches #"^\s*#.*$" line)) ; comment
         (recur objs inz),
         :else
         (let [[_ g atts] (re-matches #"^\s*(.+)\s*:\s*(.+)?\s*;\s*(?:#.*)?$" line)
               atts (and atts (split atts #"\s+"))]
           (recur (conj objs g) (union inz (set-of [g m] [m atts])))))))))


;; Comma Seperated Values (.csv)
