I'm using Eclipse/Counterclockwise these days but one of the first things I did 
was to figure out how to turn off the automatic build-on-save behavior. I save 
all of the time -- usually every "complete thought" which may be as little as a 
symbol or a line or a small expression -- and when I do that it's because I 
want to save (so that my changes won't be lost if my machine crashes, etc.), 
not because I want to trigger any other behaviors. The vast majority of my 
saves occur in states in which my code is incomplete and probably even 
nonsensical. The idea of not saving until everything is perfect doesn't make 
any kind of reasonable sense to me.

I would certainly hope that it remains possible to disable the automatic 
building, but I would also argue that it'd be most sensible for it to be off by 
default. When someone wants to build isn't it reasonable for them to say so? 
They could do that with another single keystroke or click -- just not the same 
one used for saving. I understand that auto-completion and documentation and 
other features depend on the most recent build, but it seems natural enough to 
me to require a rebuild if I want that information to be updated. Tying saving 
and building together is cute, but it doesn't seem right to me that it's the 
default (and I'd probably always want it off).

  -Lee


On Jul 19, 2010, at 2:50 PM, Laurent PETIT wrote:

> That's interesting ! Thanks for the feedback.
> Please note that it's not "impolite" in the sense that there's a policy: the 
> project is reloaded in the REPL when the file is saved - that's a kind of 
> "invitation" made by the user :-).
> If you don't work from the files, but from the REPL, nothing will happen 
> automatically.
> If you work from the files, then you simply do not save the files until 
> you're "happy" with the codebase. You can make several roundtrips between the 
> file's content and the REPL (even via keyboard shortcuts) without saving the 
> files. Ultimately, when you want to quit, you have to quit the REPL anyway, 
> and you have the option to save the files or not.
> 
> Does this answer make sense ?
> 
> There's also the problem of "I save file A", and all project namespaces are 
> reloaded as well. By maintaining a dependency graph of the namespaces 
> relationships (easily obtained dynamically via the REPL), I may be able to 
> only reload the expected namespaces. Some may see this as a feature - 
> ensuring that all functions which depend on namespace A macros are recompiled 
> -, I can see that some may see this as a recipe for disaster if reloading the 
> namespaces also reloads global-var-as-data contents. Proper use of defonce 
> may help there ?
> 
> Anyway, I didn't expect you reaction to be soo opinionated, and it's 
> refreshing to hear others thoughts.
> 
> Let's see how others react to what you wrote !
> 
> Cheers,

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

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