Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Brewing CIDER: It Starts with an Orchard
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Bozhidar Batsov
December 04, 2018
Programming
3
210
Brewing CIDER: It Starts with an Orchard
Slide-deck from my presentation at ClojureX 2018 in London.
Bozhidar Batsov
December 04, 2018
Tweet
Share
More Decks by Bozhidar Batsov
See All by Bozhidar Batsov
Clojure: The Bad Parts
bbatsov
0
75
Weird Ruby (RubyDay 2024, Verona)
bbatsov
0
160
Sustainable OSS (Balkan Ruby 2024, Sofia)
bbatsov
0
170
Ruby's Creed (RubyDay 2023, Verona)
bbatsov
0
31
Victims of Complexity
bbatsov
0
320
Ruby 3.0 Redux (Spark Academy, Jan 2021)
bbatsov
1
280
Ruby 3.0 Redux (Pivorak 4.0)
bbatsov
0
490
The Elements of Programming Style (HackConf 2019)
bbatsov
0
210
The Groundhog Day Development Method (HackConf 2019)
bbatsov
0
290
Other Decks in Programming
See All in Programming
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
160
SourceGeneratorのススメ
htkym
0
200
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
AI時代の認知負荷との向き合い方
optfit
0
160
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
Statistics for Hackers
jakevdp
799
230k
Embracing the Ebb and Flow
colly
88
5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
A designer walks into a library…
pauljervisheath
210
24k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
Testing 201, or: Great Expectations
jmmastey
46
8k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
We Are The Robots
honzajavorek
0
160
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Transcript
M-x
M-x greet-audience
Clojure 1.10-RC3
async-require -> serialized-require
None
4
None
None
None
Clojure X 2015
None
Божидар
Bug cool
None
None
We’re not hiring!
None
None
@bbatsov
The CIDER Guy
None
Clojure Interactive Development Environment that Rocks
… for Emacs
None
None
metaredux.com
emacsredux.com
The nREPL Guy
A Good Year for CIDER
None
ClojureX Clojurists 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 management system
https://github.com/vspinu/sesman
Session Manager
Massive overhaul of CIDER’s internals
Hasta la vista, cider-interaction.el!
Massive overhaul of keybindings
C-c M-j -> C-c C-x j j
None
C-c C-x j j C-c C-x j s C-c C-x
j m C-c C-x c j C-c C-x c s C-c C-x c m C-c C-x s j C-c C-x s s
Decoupled CIDER releases from cider-nrepl releases
CIDER 0.19
None
An Amazing Year for nREPL
Start of migration out 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
None
•Native support for pretty-printing results •Global and local configuration files
•Improved built-in REPL experience •Many bug-fixes
slide intentionally left blank
25% 5% 70% Yes Maybe I already have Notepad No
Do you want great Clojure development tools?
69% 25% 5% 1% Yes Maybe I already have Notepad
No Are you willing to work on Clojure development tools?
None
None
None
Brewing cider: It starts with an ORCHARD
CIDER’s Architecture
None
None
None
None
Heart of the Orchard
nREPL
None
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 interactive programming 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 a single Emacs library…
None
•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
None
None
None
• 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
None
None
Hegemony
Hegemony > Monopoly
Sustainable
Community Driven
Funded?
$4000
Consolidation
tools.trace -> sayid
None
Replace Contrib Projects
(or kill Clojure Contrib)
Open Source is not about You
CIDER is all 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
Credits twitter: @bbatsov github: @bbatsov https://metaredux.com https://emacsredux.com ClojureX 2018 London,
United Kingdom 03.12.2018