Slide-deck from my presentation at ClojureX 2018 in London.
M-x
View Slide
M-x greet-audience
Clojure 1.10-RC3
async-require ->serialized-require
4
Clojure X 2015
Божидар
Bugcool
We’re not hiring!
@bbatsov
The CIDER Guy
ClojureInteractiveDevelopmentEnvironment thatRocks
… for Emacs
metaredux.com
emacsredux.com
The nREPL Guy
A Good Year for CIDER
ClojureXClojurists Together
CIDER 0.17(Andalucia)
• Display images in the REPL• Support for shadow-cljs• Support for the clojure-cli tools (clj/deps.edn)• Support for test selectors (run a subset of tests)• A brand new profiler (M-x cider-profile-toggle)• cider-eval-last-sexp-in-context
CIDER 0.18(Saigon)
New connection managementsystem
https://github.com/vspinu/sesman
Session Manager
Massive overhaul of CIDER’sinternals
Hasta la vista,cider-interaction.el!
Massive overhaul ofkeybindings
C-c M-j -> C-c C-x j j
C-c C-x j jC-c C-x j sC-c C-x j mC-c C-x c jC-c C-x c sC-c C-x c mC-c C-x s jC-c C-x s s
Decoupled CIDER releases fromcider-nrepl releases
CIDER 0.19
An Amazing Year for nREPL
Start of migrationout of Clojure Contrib
nREPL 0.4
•New artefact id (org.clojure/tools.nrepl -> nrepl/nrepl)•New namespace (clojure.tools.nrepl.* -> nrepl.*)•Support for hot-loading dependencies•Support for clj•Many bug-fixes
https://metaredux.com/posts/2018/10/29/nrepl-redux.html
nREPL 0.5
https://nrepl.xyz
•Native support for pretty-printing results•Global and local configuration files•Improved built-in REPL experience•Many bug-fixes
slide intentionallyleft blank
25%5%70%Yes MaybeI already have Notepad NoDo you want great Clojure development tools?
69%25%5%1%Yes MaybeI already have Notepad NoAre you willing to work on Clojure development tools?
Brewing cider:It starts with anORCHARD
CIDER’s Architecture
Heart of the Orchard
nREPL
Created especially for REPL-powered tooling
Extremely flexible
Transports•bencode (default)•tty (built-in)•http(s) (via Drawbridge)•transit (via Fastlane)•EDN (coming soon)
Piggieback
cider-nrepl
Middleware for interactiveprogramming environments
Thin wrapper around (many)nREPL-agnostic libraries
compliment
orchard
cljs-tooling
•cider-nrepl -> orchard-nrepl•cljs-tooling -> orchard-cljs
Naming is hard!
Mr. Anderson
There’s a lot going on here!
And we haven’t mentioned asingle Emacs library…
•nREPL•cider-nrepl•piggieback•compliment•orchard•cljs-tooling•Mr. Anderson
Periphery of the Orchard
cljfmt
tools.reader
profile
java.classpath
tools.namespace
tools.trace
sayid
clj-refactor
refactor-nrepl
squiggly-clojure
• cljfmt• profile• java.classpath• tools.namespace• tools.trace• tools.reader• sayid• clj-refactor/refactor-nrepl• squiggly-clojure
The Big Picture
CCW(Eclipse)
Proto REPL(Atom)
Calva(VS Code)
vim-fireplace
vim-iced
Cursive(IntelliJ)
Clojure’s Orchard
Future of the Orchard
Hegemony
Hegemony > Monopoly
Sustainable
Community Driven
Funded?
$4000
Consolidation
tools.trace -> sayid
Replace Contrib Projects
(or killClojure Contrib)
Open Source is not about You
CIDER isall about YOU!!!
Help CIDER…
…to help yourselves
Felina
Resources• https://metaredux.com/posts/2018/10/29/nrepl-redux.html• https://metaredux.com/posts/2018/11/09/ciders-orchard-the-heart.html• https://metaredux.com/posts/2018/11/11/ciders-orchard-the-periphery.html• https://www.youtube.com/watch?v=4X-1fJm25Ww
Creditstwitter: @bbatsovgithub: @bbatsovhttps://metaredux.comhttps://emacsredux.comClojureX 2018London,United Kingdom03.12.2018