What's up with cloxp?
It's been almost a month since the initial announcement of cloxp. I haven't been lazy and worked on several features that will make the usage of cloxp hopefully fun and pleasant.
Here is an overview of the feature set of cloxp as of today:
Usage and access
- as a Web IDE, spawning individual workspaces and requiring no installation
- as a locally installed IDE, requiring a pre-installed JVM and node.js 0.10
In both cases cloxp will connect to a Clojure process via nREPL.
Tooling
- System browser: explore and modify Clojure namespaces and namespace vars
- "Scratch" workspaces: to support exploratory programming
- Clojars browser: to search for and install dependencies at runtime
- OS shell integration: to run whatever other process you may need, for example git. There are several tools that make use of this integration already like a directory browser
- A flexible and very customizable windowing system: Based on Morphic and Lively Web; it allows to change how existing tools work, or create new ones, on the fly.
Interactive programming and debugging
- Watchers: cloxp allows to install "watchers" into code that will continuously gather data "flowing" through the instrumented expression.
- Code evaluation: To run and inspect code, all clojure expressions can be evaluated.
- Live eval: Instead of evaluating code by hand you can enable "live eval" in any clojure code editor. It will automatically re-evaluate the expressions in your workspace. Paired with watchers it is a powerful and fun way of working. If you used LightTables "instarepl" then you know this feature already.
Sophisticated code editing support
- Structural navigation and editing with paredit
- Multiple cursors
- UI and shortcuts are completely customizable
What's next? Help needed!
Cloxp approaches a state in which I'm willing to call it "0.1.0". There are still plenty of bugs and other work left but I already had some very productive sessions (cloxp is entirely developed in itself, with all the fun and tears that this brings).
However, before I make a first release I want to ask a handful of people to test the environment and help unveil bugs and smooth out workflows. Also, I need help in other areas, for example getting a windows installer working (cloxp runs now on MacOS and Linux), to help flesh out tutorials and documentation, and more useful features.
If you are interested and willing to deal with alpha software please ping me, either at robert.krahn@gmail.com or some other channel. Thanks!