>> This is also something that wouldn't be possible with Mount as this 
library seems to promote global state.

As a recent switcher from Component to Mount, and without trying to change 
the thread's topic into a this vs. that -- I'll simply say that I don't 
believe any of these tools promote global state, it is people who code 
global state, and that can be with any of these tools... or likewise 
avoided with any of these tools.

Some tools (i.e. Component) probably make it more difficult to have global 
state, but I think it is heavy handed. For projects with a lot of 
components, I would spend a lot of time backtracking components all feeding 
into each other to figure out where some var was when working in REPL. I'd 
also repeatedly deal with errors when adding new components as I didn't set 
up the dependencies correctly at first... just several interlocking pieces 
that all need to be coordinated, and I sometimes forget one (or two).

Mount probably makes it a little easier to have global state, but that is 
up to the developer - I have no more global state than I had before the 
switch. I find it easier to work in REPL and get access to a var, or conn, 
etc. when I need to eval something, and I think all these components are 
primarily there to make the REPL workflow better. Also, I'm out of the 
business of managing my dependencies, which my challenges might just root 
from an absent-mindedness that I possess. Once it is in production, the 
component stuff matters very little anyhow.

All to say that these tools, assuming they provide the feature needs that 
have been outlined well in this thread, should not make anything 'not 
possible' and can have as much or as little global state as the developer 
chooses to code in. I cringe a bit when I repeatedly see that Mount 
promotes global state, I think that is a falsehood.

-Brian

-- 
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