A Leiningen plugin for trying out new libraries
Clojure
Latest commit 6a31a39 Aug 12, 2014 @rkneufeld Start 0.4.4 development

README.md

lein-try Build Status

A Leiningen plugin for trying out Clojure libraries in a REPL without creating a project or adding them to an existing project.

Special thanks to contributors @xsc and @seancorfield for making lein-try amazing.

Usage

Leiningen (via Clojars)

Put the following into the :plugins vector of the :user profile in your ~/.lein/profiles.clj:

;; All alone:
[lein-try "0.4.3"]

;; The whole thing:
{:user {:plugins [[lein-try "0.4.3"]]}}

This plugin requires Leiningen >= 2.1.3.

Command Line

You can use lein-try to open a REPL with any dependencies you specify loaded and ready to use.

$ lein try clj-time "0.5.1"
Fetching dependencies... (takes a while the first time)
lein-try loaded [clj-time "0.5.1"]

nREPL server started on port 57036
REPL-y 0.2.0
Clojure 1.5.1
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)

user=>

You can even leave off the version number and leiningen will pull the most recently released version! (Thanks @xsc.) The command lein try clj-time evaluates as lein try clj-time "RELEASE". Feel free to mix versioned and unversioned dependencies–we're good like that.

$ lein try clj-time
#...
user=>

To see available options, call lein help try:

$ lein help try
Launch REPL with specified dependencies available.

  Usage:

    lein try io.rkn/conformity "0.2.1" com.datomic/datomic-free "0.8.4020.26"
    lein try io.rkn/conformity 0.2.1
    lein try io.rkn/conformity # This uses the most recent version

Arguments: ([& args])

In Emacs

Miss Emacs integration while lein trying? In your *scratch* buffer, set your inferior-lisp-program var...

(setq inferior-lisp-program "lein try tentacles")

and then launch M-x inferior-lisp.

Contributions

Contributions are more than welcome. Fire away in an issue or pull-request.

License

Copyright © 2013 Ryan Neufeld

Distributed under the Eclipse Public License, the same as Clojure.