Very nice selection of Emacs + CIDER features to demonstrate. I'm an IntelliJ+Cursive user, but slowing learning CIDER, so for example `C-u C-c C-z` was new to me. I thought, I must use `C-c M-n n`, which is `cider-repl-set-ns`. I guess there is no way around it, I have to read the complete CIDER docs from top to bottom, then read all the docstrings of every function provided too and then I can distill a workflow from that finally, to arrive to something as convenient as we have with Cursive.
@@0netom You’re right, you can perfectly use cider-repl-set-ns to achieve the goal. In fact, as I got more and more familiar with cider and Clojure, I found myself rarely use the repl buffer these days. As for getting familiar with cider, reading through the whole docs is a way, it’s just that the feedback loop is a little bit too long. Personally, I would like to focus on the basics, as I demoed in this video, then look up the specific topic when you wanna understand it more.
You may want to first consider what a Clojure REPL is. A Clojure REPL is a program helping you build your program. The REPL runs along side your the program you are developing. So you can start this REPL program and send code to it. The code will be compiled and evaluated and if you define things (like functions) they will become part of your program. As you create new functions and evaluate them, your program grows. As you redefine functions, the program changes. All while the program is running. If you would do this from a prompt (say something like the JavaScript console) you could still create a whole program, but your code would be “lost”, available as bits and pieces in the prompt history at best. So with Clojure what you instead do is that you connect your editor to this REPL. And then you send the code from your file buffers to the REPL (which compiles and evaluates them as we've discussed). That way you keep the dynamic nature of building your program by creating and modifying functions and also keep the code, in files and buffers. That code can recreate the program. Jack-in is the process of starting that REPL program and connecting the editor to it. I hope this made sense?
Very nice selection of Emacs + CIDER features to demonstrate.
I'm an IntelliJ+Cursive user, but slowing learning CIDER,
so for example `C-u C-c C-z` was new to me.
I thought, I must use `C-c M-n n`, which is `cider-repl-set-ns`.
I guess there is no way around it, I have to read the complete CIDER docs from top to bottom, then read all the docstrings of every function provided too and then I can distill a workflow from that finally, to arrive to something as convenient as we have with Cursive.
@@0netom You’re right, you can perfectly use cider-repl-set-ns to achieve the goal. In fact, as I got more and more familiar with cider and Clojure, I found myself rarely use the repl buffer these days.
As for getting familiar with cider, reading through the whole docs is a way, it’s just that the feedback loop is a little bit too long. Personally, I would like to focus on the basics, as I demoed in this video, then look up the specific topic when you wanna understand it more.
I don't understan what is Jack, I get lost in the intro
Jack in, as a whole, means to start a Clojure repl and connect to it in cider. Check this out: www.merriam-webster.com/dictionary/jack%20in
You may want to first consider what a Clojure REPL is. A Clojure REPL is a program helping you build your program. The REPL runs along side your the program you are developing. So you can start this REPL program and send code to it. The code will be compiled and evaluated and if you define things (like functions) they will become part of your program. As you create new functions and evaluate them, your program grows. As you redefine functions, the program changes. All while the program is running. If you would do this from a prompt (say something like the JavaScript console) you could still create a whole program, but your code would be “lost”, available as bits and pieces in the prompt history at best. So with Clojure what you instead do is that you connect your editor to this REPL. And then you send the code from your file buffers to the REPL (which compiles and evaluates them as we've discussed). That way you keep the dynamic nature of building your program by creating and modifying functions and also keep the code, in files and buffers. That code can recreate the program. Jack-in is the process of starting that REPL program and connecting the editor to it. I hope this made sense?