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