On Apr 24, 6:05 am, Daniel <[email protected]> wrote:
> I'm curious.  How does this differ from Jark?    
> http://icylisper.in/jark/scripting.html

Jark is a client (written in Ocaml) that starts up/shuts down/talks to
resident JVMs (with additional Jark-specific code) via the nREPL
protocol. It is possible to have multiple scripts in parallel
targeting the same JVM. The current differences with lein-exec (AFAIK)
are below:

1. Jark client is a binary that talks to a JVM via the nREPL protocol.
lein-exec currently always starts a new JVM locally, which is slower
than running the Jark client.

2. Jark can connect to a JVM running on another host. This may be very
helpful for debugging. lein-exec works on a *new* local JVM with no
remote debugging capabilities.

3. The JVM, once started has no way to change the current directory.
Consequentially, Jark's resident JVM may see one directory as `pwd`
and the client may see another. This locality problem does not exist
with lein-exec.

4. Jark's resident JVM may have been started as a different user
compared to the client. Hence you cannot `sudo` from the client to
carry out things in the JVM. With lein-exec it is valid to escalate
permissions by using "sudo scriptname.clj" or "sudo lein2 exec
scriptname.clj".

5. Jark is also a server manager – you can specify how many resident
JVMs you want to have started and with which versions of Clojure. lein-
exec runs only with the JVM that was started by Leiningen.

6. Jark's resident JVM currently does not include pomegranate, hence
it cannot dynamically pull dependencies from Clojars or any Maven
repo. lein-exec has this capability today.

Hope that helps.

Shantanu

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to