(defn hq9+ [commands] (let [ reg 0 h-eval (fn [x] (cond (= x \H) "Hello World" (= x \Q) commands (= x \9) "99 Bottles" :else "Illegal Command"))] (map h-eval commands)))
正直"+"命令は逃げてるわけですが、
http://rosettacode.org/wiki/Execute_HQ9%2B/Haskell
これも逃げてるなぁ。