• (main & args)
Usage: java -cp clojure.jar clojure.main [init-opt*] [main-opt] [arg*]
 With no options or args, runs an interactive Read-Eval-Print Loop
 init options:
  -i, --init path     Load a file or resource
  -e, --eval string   Evaluate expressions in string; print non-nil values
  --report target     Report uncaught exception to "file" (default), "stderr",
                      or "none", overrides System property
 main options:
  -m, --main ns-name  Call the -main function from a namespace with args
  -r, --repl          Run a repl
  path                Run a script from a file or resource
  -                   Run a script from standard input
  -h, -?, --help      Print this help message and exit
   - Establishes thread-local bindings for commonly set!-able vars
  - Enters the user namespace
  - Binds *command-line-args* to a seq of strings containing command line
    args that appear after any main option
  - Runs all init options in order
  - Calls a -main function or runs a repl or script if requested
 The init options may be repeated and mixed freely, but must appear before
any main option. The appearance of any eval option before running a repl
suppresses the usual repl greeting message: "Clojure ~(clojure-version)".
 Paths may be absolute or relative in the filesystem or relative to
classpath. Classpath-relative paths have prefix of @ or @/