cjfrisz/clojure-tco — pull request #1 by alandipert (2012-05-12 07:14:41+00:00)
Title: Minor simplification

Hey Chris/Dan, thanks for the awesome library! I'm using it to implement a derivative of Backus's FL that uses Clojure data for syntax and compiles to Clojure.

I removed use of `atom` in favor of `{:thunk true}` metadata on thunks. I believe this simplifies the code by decoupling the lexical dependency between transformed function bodies and their `tramp` function. `flag` remains now only as an argument on the overloaded function body.

I did some unscientific perf testing, and it seems to be about the same performance with this change.

I also made some small style changes, made `tramp` self recursive (which allowed me to get rid of the `Loop` expression), and updated the README emission example to reflect my changes.

Thanks again for the library, and thanks in advance for checking out my code.

Best,
Alan