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