- Use appropriate quoting to avoid whitespace within arguments, environment variables from being string-split. - Better compatibility with baseline POSIX sh. - Improve editor syntax highlighter compatibility. - Readability cleanups (avoid workarounds for bugs fixed pre-POSIX-standardization).
Modelled on the test runner. Includes a simple-benchmark macro (living in src/clj/cljs/core.clj): (simple-benchmark [coll [1 2 3]] (first coll) 1000000) expands to code which times 1000000 runs of (first coll) in a context where coll is bound to [1 2 3] and prints out (first [1 2 3]), 1000000 runs, 123 msecs