Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Brewing CIDER: It Starts with an Orchard

Brewing CIDER: It Starts with an Orchard

Slide-deck from my presentation at ClojureX 2018 in London.

1be785d1d788b82929e55fc83a9f0aaa?s=128

Bozhidar Batsov

December 04, 2018
Tweet

Transcript

  1. M-x

  2. M-x greet-audience

  3. Clojure 1.10-RC3

  4. async-require -> serialized-require

  5. None
  6. 4

  7. None
  8. None
  9. None
  10. Clojure X 2015

  11. None
  12. Божидар

  13. Bug cool

  14. None
  15. None
  16. We’re not hiring!

  17. None
  18. None
  19. @bbatsov

  20. The CIDER Guy

  21. None
  22. Clojure Interactive Development Environment that Rocks

  23. … for Emacs

  24. None
  25. None
  26. metaredux.com

  27. emacsredux.com

  28. The nREPL Guy

  29. A Good Year for CIDER

  30. None
  31. ClojureX Clojurists Together

  32. CIDER 0.17 (Andalucia)

  33. • 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
  34. CIDER 0.18 (Saigon)

  35. New connection management system

  36. https://github.com/vspinu/sesman

  37. Session Manager

  38. Massive overhaul of CIDER’s internals

  39. Hasta la vista, cider-interaction.el!

  40. Massive overhaul of keybindings

  41. C-c M-j -> C-c C-x j j

  42. None
  43. 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
  44. Decoupled CIDER releases from cider-nrepl releases

  45. CIDER 0.19

  46. None
  47. An Amazing Year for nREPL

  48. Start of migration out of Clojure Contrib

  49. nREPL 0.4

  50. •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
  51. https://metaredux.com/posts/2018/10/29/nrepl-redux.html

  52. nREPL 0.5

  53. https://nrepl.xyz

  54. None
  55. •Native support for pretty-printing results •Global and local configuration files

    •Improved built-in REPL experience •Many bug-fixes
  56. slide intentionally left blank

  57. 25% 5% 70% Yes Maybe I already have Notepad No

    Do you want great Clojure development tools?
  58. 69% 25% 5% 1% Yes Maybe I already have Notepad

    No Are you willing to work on Clojure development tools?
  59. None
  60. None
  61. None
  62. Brewing cider: It starts with an ORCHARD

  63. CIDER’s Architecture

  64. None
  65. None
  66. None
  67. None
  68. Heart of the Orchard

  69. nREPL

  70. None
  71. Created especially for REPL- powered tooling

  72. Extremely flexible

  73. Transports •bencode (default) •tty (built-in) •http(s) (via Drawbridge) •transit (via

    Fastlane) •EDN (coming soon)
  74. Piggieback

  75. cider-nrepl

  76. Middleware for interactive programming environments

  77. Thin wrapper around (many) nREPL-agnostic libraries

  78. compliment

  79. orchard

  80. cljs-tooling

  81. •cider-nrepl -> orchard-nrepl •cljs-tooling -> orchard-cljs

  82. Naming is hard!

  83. Mr. Anderson

  84. There’s a lot going on here!

  85. And we haven’t mentioned a single Emacs library…

  86. None
  87. •nREPL •cider-nrepl •piggieback •compliment •orchard •cljs-tooling •Mr. Anderson

  88. Periphery of the Orchard

  89. cljfmt

  90. tools.reader

  91. profile

  92. java.classpath

  93. tools.namespace

  94. tools.trace

  95. sayid

  96. clj-refactor

  97. refactor-nrepl

  98. squiggly-clojure

  99. None
  100. None
  101. None
  102. • cljfmt • profile • java.classpath • tools.namespace • tools.trace

    • tools.reader • sayid • clj-refactor/refactor-nrepl • squiggly-clojure
  103. The Big Picture

  104. CCW (Eclipse)

  105. Proto REPL (Atom)

  106. Calva (VS Code)

  107. vim-fireplace

  108. vim-iced

  109. Cursive (IntelliJ)

  110. Clojure’s Orchard

  111. Future of the Orchard

  112. None
  113. None
  114. Hegemony

  115. Hegemony > Monopoly

  116. Sustainable

  117. Community Driven

  118. Funded?

  119. $4000

  120. Consolidation

  121. tools.trace -> sayid

  122. None
  123. Replace Contrib Projects

  124. (or kill Clojure Contrib)

  125. Open Source is not about You

  126. CIDER is all about YOU!!!

  127. Help CIDER…

  128. …to help yourselves

  129. Felina

  130. 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
  131. Credits twitter: @bbatsov github: @bbatsov https://metaredux.com https://emacsredux.com ClojureX 2018 London,

    United Kingdom 03.12.2018