We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Cursive: Developing an IDE for Clojure Code • Colin Fleming • YOW! 2018
Learn how Cursive IDE tackles Clojure development challenges using IntelliJ's platform, from handling complex macros to providing sophisticated static analysis and refactoring tools.
-
Cursive is built on IntelliJ’s platform, providing strong project model support and sophisticated code analysis for Clojure development
-
Macros in Clojure present unique challenges for IDE development since they are arbitrary code that can modify syntax and semantics in complex ways
-
The IDE directly manipulates source code structure rather than text, offering semantic operations that reflect programmer intent rather than keystroke-level editing
-
Cursive uses source code analysis rather than runtime REPL evaluation, allowing it to provide better support for elements that don’t exist at runtime (like keywords)
-
Language-specific tooling is crucial - extracting functions and other refactorings need to understand the target language’s semantics
-
IDE features include project-wide indexing, navigation between program elements, refactoring support, and macro-aware code analysis
-
Extension API allows macro authors to teach Cursive about their macros for better IDE support
-
Balances between static analysis and REPL-based development, works with both Clojure and ClojureScript
-
Provides non-commercial free licensing for learning, academic work and open source development
-
Focus on making language tools that work with the semantic structure of programs rather than just text manipulation