Thanks Dave for sharing you current strategy for reusing generic
Clojure/ClojureScript code.
Have a look at the following dev thread where some ideas have been
shared and feel free to comment:

http://groups.google.com/group/clojure-dev/browse_thread/thread/831b74363da10187/3403e5ccbc488bc3

I haven't had much chance to take this further, however I will get
back to it this coming week.

-Alen


On Oct 6, 4:06 am, Dave Sann <daves...@gmail.com> wrote:
> If anyone is interested, this is the strategy that I am currently using.
> It's a bit messy with linking but it saves me maintaining multiple versions
> and has worked so far. I expect that the linking could be removed with some
> work upstream. This is a workaround for me until a more standard solution
> comes out.
>
> I have started to separate code that I believe to be generic form code that
> I believe to be platform specific. It is not always possible to tell due to
> included dependencies, so there may be some trial and error.
>
> If I am making a project - say 'utils' that I think can be used across clj
> and cljs, I use the following structure:
>
> I put generic code in src.
> I put jvm specific code in src/utlis/x (namespace utils.x and below)
> I put cljs/js specific code in src_cljs/utils/x (namespace utils.x and
> below)
>
> Generic code is developed under src and sym-linked into src_cljs - with a
> change in extension to .cljs
>
> All platform dependent code is in or under the namespace utils.x (I use x
> because it's short and easy to see). This is not crosslinked (obviously).
>
> I do not use 'cljs' or 'jvm' as the name space for platform specific code.
> Using the same prefix 'x' allows generic code to freely use platform
> specific code provided that it is explicitly implemented to the same API in
> both clj and cljs. This may not always be a reasonable thing to do, but
> where it is it seems effective.
>
> Nothing special is required beyond this. I use cljs-watch to compile the
> clojurescript by pointing it at the src_cljs directory.
>
> Cheers
>
> Dave

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to