I was trying to do some simple scripting work with Clojure. For example, I would load a json which contains a map from a file, remove a given key, and save it back to the file. With leiningen, seems I would have to create an app, add data.json or whatever into the dependencies, then I could start a lein repl to do the real work. Think about doing the same thing with Python. It should be done with 3 lines of code in Python. Is there an easy way to do it with leiningen?
-
You don't have to use lein, but t helps with setting up application structure. I've used lein for so long, I don't know how to hand compile Clojure and run it, but there are probably examples out there.octopusgrabbus– octopusgrabbus2013-05-27 22:02:39 +00:00Commented May 27, 2013 at 22:02
-
1The jvm makes using clojure for things like this very inconvenient, because of the startup time (and ram usage if you work around the startup time with a pool of waiting jvms).noisesmith– noisesmith2013-05-27 23:15:46 +00:00Commented May 27, 2013 at 23:15
-
You can run a single JVM instance using Nailgun (github.com/martylamb/nailgun), load Clojure to it, and serve requests in a client-server manner (over localhost).deprecated– deprecated2013-05-28 06:49:23 +00:00Commented May 28, 2013 at 6:49
Add a comment
|
2 Answers
You can try out the lein-oneoff plugin which was made for situations like these (I'm the author). It lets you declare dependencies and write code in a single file, avoiding the need to generate a proper leiningen project.
Comments
You can use lein-exec.
To add a bit more info, I wrote up some notes on standalone scripts with Clojure.