Unlike you (involved in all three), I'm involved in 0 of the tools.

>From a very short-sighted view, it seems the problem is that "lein
configuration" is "not clojure code."

It seems what I want is to setup core.async channels:

  * a channel that gets an item whenever my foo/cljx directory changes
  * a channel for cljx to notify cljsbuild that foo/out-cljs has new
data and should be recompiled



On Sat, Mar 22, 2014 at 8:19 AM, Chas Emerick <c...@cemerick.com> wrote:
> Despite numerous requests, I have so far resisted integrating cljsbuild,
> cljx, and clojurescript.test.  I noted my sentiments on this topic in a
> comment here some time ago:
>
> https://github.com/lynaghk/cljx/issues/25
>
> I haven't thought about it much since then, but I suspect I will relent at
> some point.  That said, any "integration" amongst these various tools will
> need to be open enough that alternatives can be used as desired (e.g. surely
> clojurescript.test is not the last word in ClojureScript testing??).
>
> - Chas
>
>
> On 03/22/2014 05:26 AM, t x wrote:
>>
>> I stopped using cljx, and "lein cljsbuild auto" is amazingly fast.
>>
>> It does look like timing issues / how cljx/cljsbuild auto triggers
>> work is the issue.
>>
>> Someone (that happens to be suffering more from this issue) please fix it.
>> :-)
>>
>> On Fri, Mar 21, 2014 at 4:31 PM, Moritz Ulrich <mor...@tarn-vedra.de>
>> wrote:
>>>
>>> I really hope that a small plugin to coordinate cljx/cljsbuild will show
>>> up in the near future. I found cljsbuild's crossovers much better
>>> integrated and easier to use (but still far inferior to cljx).
>>>
>>> I agree that a REPL based workflow is much superior, especially with
>>> tools like Om which remove the need to coordinate DOM updates.
>>>
>>> Chas Emerick writes:
>>>
>>>> This particular trick is a clever one (that I'm afraid I've had some
>>>> hand in propagating, for the benefit of those that like an  "auto" +
>>>> browser refresh workflow), but it's never going to be particularly
>>>> efficient.  By its very nature, pdo sets up cljx and cljsbuild off and
>>>> running without any coordination; it's equivalent to running the two
>>>> tasks in separate processes.
>>>>
>>>> It's possible that some hooks may become available in cljsbuild so that
>>>> things like cljx can do what they like prior to each compile, but that's
>>>> speculative.
>>>>
>>>> IMO, a REPL-based workflow is far superior to anything involving
>>>> reloading your app's page, insofar as you can (nearly always) apply the
>>>> changes you're working on without blowing away the state of the app.  In
>>>> this context, cljx's nREPL middleware excels (but unfortunately cannot
>>>> be used with the stock ClojureScript browser-REPL; check out Austin).
>>>>
>>>> Note that cljx has not been optimized _at all_.  It's "fast enough" for
>>>> my purposes (i.e. reasonable when doing a clean rebuild, and snappy when
>>>> doing the small changes typical in a REPL). I'd be happy to merge
>>>> reasonable patches that make the actual cljx transformation faster.
>>>>
>>>> - Chas
>>>>
>>>> On 03/21/2014 01:23 PM, t x wrote:
>>>>>
>>>>> I'm using:
>>>>>
>>>>> "lein pdo cljx auto,cljsbuild auto dev'
>>>>>
>>>>> However, maybe perhaps it's weird timing interaction between cljx and
>>>>> cljsbuild that's making the lag appear more than it actually is.
>>>>>
>>>>> On Fri, Mar 21, 2014 at 8:27 AM, David Nolen <dnolen.li...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Unless you're compiling a very large file - with auto :optimizations
>>>>>> :none
>>>>>> you should always get sub-second compile times under auto.
>>>>>>
>>>>>> David
>>>>>>
>>>>>>
>>>>>> On Fri, Mar 21, 2014 at 10:55 AM, Timothy Baldridge
>>>>>> <tbaldri...@gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> are you using "lein cljsbuild auto" ? That's what I use, and I get
>>>>>>> about
>>>>>>> 1-3 sec recompile times for stuff that uses core.async.
>>>>>>>
>>>>>>> Timothy
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Mar 21, 2014 at 12:48 AM, t x <txrev...@gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> *  I'm already using:
>>>>>>>>
>>>>>>>>     :incremental true
>>>>>>>>     :compiler { :optimizations :none }
>>>>>>>>
>>>>>>>> * I'm also aware of cljs brepl
>>>>>>>>
>>>>>>>>
>>>>>>>> However:
>>>>>>>>
>>>>>>>> 1) the cljs compiler is still too slow for my liking (even though
>>>>>>>> it's
>>>>>>>> not calling closure)
>>>>>>>>
>>>>>>>> 2) I don't like the cljs repl nearly as much as I like the clj repl
>>>>>>>>
>>>>>>>>
>>>>>>>> Now, my dumb/stupid question:
>>>>>>>>
>>>>>>>>     Is there any cljs in cljs _slow_ interpreter? I'm perfectly
>>>>>>>> happy
>>>>>>>> with an interpreter that runs 10x slower, if, in exchange, I get to
>>>>>>>> hit "refresh" and my new code starts running.
>>>>>>>>
>>>>>>>>     Furthermore, I'm _okay_ with their being a big delay every time
>>>>>>>> I
>>>>>>>> introduce a new macro from clj land.
>>>>>>>>
>>>>>>>>
>>>>>>>>     I realize this sounds spoiled -- but -- the cljs compiler delays
>>>>>>>> are
>>>>>>>> really really breaking my flow.
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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
>>>>>>>> ---
>>>>>>>> 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 clojure+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> "One of the main causes of the fall of the Roman Empire was
>>>>>>> that-lacking
>>>>>>> zero-they had no way to indicate successful termination of their C
>>>>>>> programs."
>>>>>>> (Robert Firth)
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>> ---
>>>>>>> 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 clojure+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>> ---
>>>>>> 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 clojure+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>> --
>>> Moritz Ulrich
>
>
> --
> 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
> --- 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 clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
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
--- 
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to