Mercurial > vba-clojure
diff clojure/com/aurellem/gb_funs.clj @ 86:9864032ef3c8
cleaned up code and made it to the end of the title
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 10 Mar 2012 14:24:10 -0600 |
parents | 3f4fdd270059 |
children |
line wrap: on
line diff
1.1 --- a/clojure/com/aurellem/gb_funs.clj Sat Mar 10 00:32:11 2012 -0600 1.2 +++ b/clojure/com/aurellem/gb_funs.clj Sat Mar 10 14:24:10 2012 -0600 1.3 @@ -120,10 +120,10 @@ 1.4 (play @current-state n))) 1.5 1.6 (defn play-moves 1.7 - ([state moves] 1.8 - 1.9 - ([moves] 1.10 - (dorun (map (fn [move] (step @current-state move)) moves)))) 1.11 + ([moves [prev state]] 1.12 + (set-state! state) 1.13 + (dorun (map (fn [move] (step @current-state move)) moves)) 1.14 + [(concat prev moves) @current-state])) 1.15 1.16 ;;;;;;;;;;; 1.17 1.18 @@ -164,4 +164,12 @@ 1.19 (defn DE [state] 1.20 (nth (registers state) 4)) 1.21 1.22 +;;;;;;;;;;;;;;; 1.23 + 1.24 +(defmacro defn-memo 1.25 + [& forms] 1.26 + (let [fun-name (first forms)] 1.27 + `(do 1.28 + (defn ~@forms) 1.29 + (alter-var-root (var ~fun-name) memoize)))) 1.30 1.31 \ No newline at end of file