Basic Usage
===========

    $ clj
    user=>

or,

    $ clj a1 a2 a3
    user=> *command-line-args*
    ("a1" "a2" "a3")

Now play with the REPL.

A workflow
==========

    Open a terminal.

        $ mkdir /tmp/skizze
        $ cd !$
        $ mkdir -p src/p
        $ cd !$
        $ vim x.clj
        $ cat x.clj
        (ns p.x)

        (defn f [] "hello, world")
        $ vim x.clj

    Keep that terminal, running vim, open.

    Fire up another terminal.

        $ cd /tmp/skizze
        $ clj
        user=> (defn l [] (use 'p.x :reload))
        user=> (l)
        user=> (f)
        "hello, world"

    You can now work on your sketch in the REPL, then modify x.clj
    in the editor, and then issue

        user=> (l)
        user=> (f)
        "hello, world2"

    in the REPL again.

Working with contrib libraries
==============================

    $ mkdir /your/contrib
    $ cd !$
    $ git clone https://github.com/clojure/java.jdbc.git
    $ git clone https://github.com/clojure/data.csv.git

    $ cd /tmp/skizze
    $ mkdir lib
    $ cd !$
    $ ln -s /your/contrib/java.jdbc/src/main/clojure clojure.java.jdbc
    $ ln -s /your/contrib/data.csv/src/main/clojure clojure.data.csv
    $ cd ..
    $ clj
    user=> (require '[clojure.java.jdbc :as sql])
    user=> (require '[clojure.data.csv :as csv])

Now you can use these libraries from the repl

    user=> (doc sql/with-connection)
    user=> (doc csv/read-csv)

or you can modify p/x.clj to require and use them, and after

    user=> (l)

you can play with the functions in p/x.clj that make use of them.

Working with 3rd party jars
===========================

    $ cd /tmp/skizze
    $ cd lib
    $ ln -s /your/guava/guava-12.0.1/guava-12.0.1.jar
    $ ln -s /your/stringtemplate/ST-4.0.5.jar
    $ ln -s /your/stringtemplate/ST-4.0.5/lib/antlr-3.4.-complete.jar
    $ cd ..
    $ clj

Now you can use these libraries from the repl

    user=> (import org.stringtemplate.v4.ST)
    user=> (import com.google.common.base.Charsets)

or you can modify p/x.clj to require and use them, and after

    user=> (l)

you can play with the functions in p/x.clj that make use of them.

TODO
====

    Generate ~/.clj_completions. A way to do that was on the Wiki.
