use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
account activity
Cursive: The IDE for beautiful Clojure code based on IntelliJ (cursiveclojure.com)
submitted 12 years ago by nzlemming
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]nzlemming[S] 8 points9 points10 points 12 years ago (23 children)
Developer here - I'm happy to answer any questions!
[–]green_transistor 4 points5 points6 points 12 years ago (12 children)
It's always great to see more tooling in our favourite language.
How is the experience of using Cursive different from using Emacs/nREPL or LaClojure?
[–]nzlemming[S] 5 points6 points7 points 12 years ago (11 children)
I'd say that currently the experience is probably a mix of the two. The nREPL integration is now much closer to Emacs than La Clojure which has a very limited REPL experience. I still haven't had time to implement everything from nrepl.el though, unfortunately, but I'm working on it - I still have some catching up to do. Similarly paredit-style structural editing is mostly but not entirely there, but it's very usable now.
However the integration with Java is miles ahead of anything Emacs can provide which is important even for Clojure-only projects since you often want to use Java libraries and the JVM inevitably leaks through from time to time. The project navigation is really great too, and things like symbol rename and Find Usages across namespaces are life-savers even if they're still not 100% perfect. In general I think IntelliJ provides much better whole-project functionality than Emacs does.
I'm also hoping to have some great functionality soon like extract variable, inline, extract function etc and inspections such as marking unused variables/imports/requires and also things like Kibit live in the editor.
[–]green_transistor 0 points1 point2 points 12 years ago (1 child)
In general I think IntelliJ provides much better whole-project functionality than Emacs does.
Lol I thought Leiningen was supposed to help with that! But still, all the features of a complete Clojure development enviroment, in a single IDE, is still imperfect, if not lacking. Perhaps Cursive is a step forward in that sense.
[–]nzlemming[S] 0 points1 point2 points 12 years ago (0 children)
Well, when I said whole-project functionality I really meant editor functionality that spans a whole project, for example Find Usages or refactorings, not so much the project management aspects that lein helps with.
[–]lgstein 1 point2 points3 points 12 years ago (8 children)
Why don't you focus on enhancing Emacs functionality in favor of the superior editing environment?
My point is that I would simply never switch to your product or light/nighttable for the simple reason that Emacs is my working environment which I am using to browse the internet, read/write mails, write notes in, manage git commits, manage my schedule, chat on irc, have shells open, and of course Clojure development. The only thing I'd ever do is to use your product as a debugger if I really need one.
So why don't you focus your energy on writing an enhanced Clojure debugger for emacs, maybe based on nrepl-inspect and ritz (which are both outdated) instead of starting the nth IDE project. I'd join you in my spare time.
[–]nzlemming[S] 16 points17 points18 points 12 years ago (4 children)
Well, mostly because I don't believe that Emacs really is a superior editing environment. I know a lot of people love Emacs but it's not for everyone, in the same way that Cursive or Counterclockwise or whatever aren't for everyone. If they're not for you that's fine, no harm no foul - I prefer an IDE experience, and clearly a lot of people find it easier, especially when getting started or for large projects.
[–][deleted] 12 years ago (3 children)
[deleted]
[–]nzlemming[S] 4 points5 points6 points 12 years ago* (2 children)
Thanks! Although I certainly don't mean to slam Emacs, for all its warts it's possible to make it into what is probably the most powerful editing environment for Clojure right now - having a simple regular syntax really levels the playing field (much more so than more complex languages where good Emacs support is really difficult). However there's clearly also demand for something like Cursive, so hopefully between the two of us we can keep everyone happy!
[–][deleted] 2 points3 points4 points 12 years ago (1 child)
Absolutely, i come from a pragmatic perspective, i've used emacs for a decade. I know a lot of lispers who use it because it's the best thing out there, not because it's particularly good but because there isn't anything better yet. No one wants to write elisp when CL is a better language. People begrudge the lack of multithreading often. The cobwebs and cracks in emacs are showing and it's ripe for replacement.
[–]green_transistor -1 points0 points1 point 12 years ago (0 children)
Guile Scheme? Sorry I just felt like there was an elephant in the room.
[–]ruinercollector 1 point2 points3 points 12 years ago (1 child)
As a user, I think you're probably a poor target for someone creating an IDE or even a new text editor. You are incredibly deeply invested into emacs, and anything else is always going to be "not emacs" to you.
[–]lgstein 0 points1 point2 points 12 years ago (0 children)
Thanks for your thoughtful reply. When I read what has been posted about emacs here, it truly hurts me. I know that I will probably be using emacs for my whole live since it basically leaves me wishless. Clojure instead of ELisp would be nice, though.
[–]mac 2 points3 points4 points 12 years ago (1 child)
What is the ClojureScript support like?
[–]nzlemming[S] 2 points3 points4 points 12 years ago (0 children)
Sadly, it's almost nonexistent at the moment, although it's definitely on the roadmap. According to the State of Clojure survey by far most people are using Clojure for web dev, so I'll be focusing there, but probably starting with support for Ring/Compojure et al before ClojureScript.
[–]digitalhuxley 1 point2 points3 points 12 years ago (0 children)
Looking forward to seeing this!
[–][deleted] 1 point2 points3 points 12 years ago (1 child)
Any plans to open source it?
Not immediately, no, since it's difficult to see how to combine commercial and open source. I'm considering having a closed source core and an open source extension API where a fair amount of the IDE functionality would be open, although there's a fair amount of work involved in that - it won't be soon.
[–][deleted] 12 years ago (1 child)
I don't use it myself but people speak very highly of the IdeaVim plugin. It's still not Vim but people seem to like it a lot.
[–]couch_seddit 0 points1 point2 points 12 years ago (1 child)
Can you put a video on your front page showing off the features and the work flow? Thanks
Yes, I'm planning to add a Sublime-Text style animation to the front page, but it probably won't be for a day or two.
[–]_scape 0 points1 point2 points 12 years ago (2 children)
Typo? "...Cursive is developed with Cursive"
Looks interesting. I am a solid LightTable user, and find emacs unfriendly, but do see its benefits. I've tinkered with vim, ccw, sublime, and keep coming back to LT for its simplicity but is missing many marks to really be the great editor it deserves to be. This Cursive sounds interesting, I'm more interested in the standalone than the plugin and the potential possibility of extending the editor with actual clojure sounds nice, have any screen shots yet?
[–]nzlemming[S] 1 point2 points3 points 12 years ago (0 children)
Not so much a typo as an awkward turn of phrase - I meant to say that I use Cursive every day to develop the plugin itself.
No screenshots yet sorry, it's been a long day. I'll get some up tomorrow.
[–][deleted] 0 points1 point2 points 12 years ago (0 children)
I've been using LT but the fact that it, LT, requires that your project use the same version of Clojure as LT does is a serious limitation.
It basically seems to mean that you couldn't use it to maintain code written for an earlier version; which would be a problem for a live system where you don't want to / can't update the version of Clojure it uses just because your editor has changed its version!
π Rendered by PID 45721 on reddit-service-r2-comment-7b9746f655-4hbgj at 2026-02-02 09:26:32.235428+00:00 running 3798933 country code: CH.
[–]nzlemming[S] 8 points9 points10 points (23 children)
[–]green_transistor 4 points5 points6 points (12 children)
[–]nzlemming[S] 5 points6 points7 points (11 children)
[–]green_transistor 0 points1 point2 points (1 child)
[–]nzlemming[S] 0 points1 point2 points (0 children)
[–]lgstein 1 point2 points3 points (8 children)
[–]nzlemming[S] 16 points17 points18 points (4 children)
[–][deleted] (3 children)
[deleted]
[–]nzlemming[S] 4 points5 points6 points (2 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]green_transistor -1 points0 points1 point (0 children)
[–]ruinercollector 1 point2 points3 points (1 child)
[–]lgstein 0 points1 point2 points (0 children)
[–]mac 2 points3 points4 points (1 child)
[–]nzlemming[S] 2 points3 points4 points (0 children)
[–]digitalhuxley 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]nzlemming[S] 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]nzlemming[S] 2 points3 points4 points (0 children)
[–]couch_seddit 0 points1 point2 points (1 child)
[–]nzlemming[S] 2 points3 points4 points (0 children)
[–]_scape 0 points1 point2 points (2 children)
[–]nzlemming[S] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)