Phil Hagelberg <p...@hagelb.org> writes: > So it seems like recently the only thing I use AOT for is producing > -main functions that can be easily run from the command-line. I've > found that an alternate to this is to use clojure.main -e, require the > necessary namespace, and then call (apply -main *command-line-args*), > but this is rather awkward. I wonder if it would be convenient to have > clojure.main take another argument that would accept the name of a > namespace to look for a -main function in. > > Thoughts? Would others use this?
I agree that this would be an excellent addition and would improve usability. I use clojure.main -e "(use 'foo)(-main)" all the time as well but it's probably pretty baffling to new users as to how they are actually supposed to run their programs outside of an IDE. Just putting code at the top-level is not suitable as it will be run whenever the namespace is loaded -- which is not what you want when compiling or generating documentation. Some languages do this like Python's "if __name__ == '__main__': main(*sys.argv)" boilerplate, but this is ugly and unnecessarily repetitive as they almost always just call main() anyway. Virtually every program larger than a trivial script is going to have a main function of some sort, so I think languages should really take it into account directly. -- 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