an out of order processor simulator implemented in Clojure