HQ9+

(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
これも逃げてるなぁ。