Earlier today, we released [com.keminglabs/cljx "0.3.0"], which brings a bunch 
of significant changes and improvements:

        https://github.com/lynaghk/cljx

Existing users should review the changelog entry, as this is a breaking release:

        https://github.com/lynaghk/cljx/blob/master/CHANGES.md

cljx is a way to statically rewrite Clojure (or ClojureScript) to be portable 
to ClojureScript (or Clojure).  This means that you can target both languages 
with a single codebase.  To do this, you write code in .cljx files, and use 
annotations to elide language/runtime-specific forms from the output intended 
for different targets.  There's better examples in the README (and some handful 
of projects using cljx out in the wild, like 
https://github.com/cemerick/pprng), but you should get the flavour from this 
snippet:

(defn x
  []
  (throw (#+clj Exception. #+cljs js/Error. "WTF")))

cljx will produce two files from this input: a .clj file containing the 
`Exception.` symbol but not the `js/Error.` symbol, and a .cljs file containing 
the inverse.  In short, cljx is an s-expression preprocessor (intentionally 
very limited — this is all you really need to write practical, portable 
Clojure[Script]).

Thanks to Kevin Lynagh for cutting releases and allowing me to play in his 
sandbox, and all the others noted in the README that inspired or helped in the 
effort.

Happy Clojure[Script]-ing!

- Chas

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to