Fixes and traces
Tuesday, August 9th, 2011Several recent changes to report to Clojush, which is available as usual from: https://github.com/lspector/Clojush
20110629: - Fixed abbreviate-tagged-code-macros printing of empty lists. - Added seq condition to walklist to permit walking of seqs that aren't actually full-fledged lists. 20110702: - Several fixes/refinements to tagged-code macros: - Fixed incorrect no-op of arg-free calls with empty tag space. - Added :additional_args to tagged-code macro structure; the value should be a list of items and these will be executed in order before calling the macro's instruction. - Added optional 5th arg to tagged-code-macro-erc; this should be a function of zero args that will be called to produce the value of :additional_args (e.g. if you want to have one random integer arg then you could specify a 5th arg of (fn [] (list (lrand-int 101))). - Changed format produced by abbreviate-tagged-code-macros to handle :additional_args and to be slightly more concise. 20110714: - Added "trace" argument to eval-push and run-push. If this is true then the resulting state will map :trace to a list of executed instructions and literals, in reverse order of execution. If the argument is :changes then instructions that have no effect on the state will be excluded.