1(require [hy.contrib.loop [loop]])2(require [hy.contrib.walk [let]])34(defclass Reader [object]5 (defn __init__ [self file]6 (setv self.file file))78 (defn list-start? [self line]9 (or (= line "command_list_begin\n")10 (= line "command_list_ok_begin\n")))1112 (defn list-end? [self line]13 (= line "command_list_end\n"))1415 (defn __call__ [self]16 (loop [[str ""] [list False]]17 (let [line (self.file.readline)]18 (cond19 [(self.list-start? line)20 (recur (+ str line) True)]21 [list22 (if (self.list-end? line)23 (+ str line)24 (recur (+ str line) list))]25 [True line])))))