Talks
Events

Cursive: A different type of IDE

Colin Fleming at Clojure/conj 2014

Cursive is an IDE for Clojure, based on the IntelliJ framework. In contrast to the majority of Clojure development environments, Cursive uses static analysis of the source code to work its magic rather than taking advantage of the REPL. IntelliJ also provides a sophisticated indexing infrastructure, and this in combination with static analysis allows many interesting features which are difficult or impossible to achieve with a traditional REPL-based environment. Essential code navigation tools such as Find Usages and refactorings such as Rename become possible, and using IntelliJ's code inspections can provide error marking and even provide equivalents to tools such as Kibit and Eastwood, right in the editor. This ability to see problems immediately provides an even shorter feedback loop than working in the REPL. We'll look at some more of the interesting features that Cursive already offers which differentiate it from other tools, and talk about some of the features planned for the future. We'll also discuss some of the challenges of developing a traditional IDE for a language as flexible as Clojure, as well as the various ups and downs of developing it in Clojure.

Colin is the developer of Cursive. He has programmed things for a long time now, and came to Clojure from Java via Scheme a few years ago. When he's not hacking on Cursive he's mostly waiting for his daughter to get old enough to program robots together.