ClojureScript REPL into embedded JavaScriptCore
Objective-C Clojure Ruby Other
Latest commit 5c891e0 Jan 1, 2017 @mfikes mfikes Make WebDAV mount point in /tmp instead of /Volumes
This avoids permissions issues in /Volumes for
newer macOS releases.

Fixes #122


A ClojureScript REPL into embedded JavaScriptCore on iOS, OS X, and tvOS.

Ambly is a REPL designed for use when developing hybrid ClojureScript / native apps.

Ambly comprises a ClojureScript REPL implementation, along with Objective-C code interfacing JavaScriptCore.

An iOS and tvOS demo app is included, making it easy to give the REPL a spin.

pod "Ambly", "~> 0.7.0"

Clojars Project



You must have Xcode installed as well as support for CocoaPods. You must have Java 7 or later installed along with Leiningen or Boot.

Demo App

In ambly/ObjectiveC/Ambly Demo run pod install.

Open Ambly Demo.xcworkspace in Xcode and run the app in the simulator or on a device.


In ambly/Clojure run script/repl to start the REPL if you're using Leiningen. If you're using Boot, run $ boot ambly.

Here is a sample REPL startup sequence, illustrating device auto-discovery:

$ script/repl 

[1] Ambly Demo on iPod touch
[2] Ambly Demo on iPad
[3] Ambly Demo on iPhone Simulator (My-Mac-Pro)
[4] Ambly Demo TV on Apple TV

[R] Refresh

Choice: 1

Connecting to Ambly Demo on iPod touch ...

To quit, type: :cljs/quit
cljs.user=> (+ 3 4)

Note: See Connectivity for details, should any networking difficulty arise.

Manual REPL Startup

If you would like to manually start the Ambly REPL from a Clojure REPL, issue the following two forms:

  '[cljs.repl :as repl]
  '[ambly.core :as ambly])
(repl/repl (ambly/repl-env))


For a better REPL experience (keyboard input editing and history support), you can install rlwrap under OS X with Homebrew:

brew install rlwrap

Then script/repl will automatically detect rlwrap and use it.


Please contact David Nolen via email to request an electronic Contributor Agreement. Pull requests will be accepted once your electronic CA has been signed and returned.

Copyright and license

Copyright © 2015–2017 David Nolen

Licensed under the EPL (see the file LICENSE).