5 ms·
This article helps us understand what real repls enable that interactive language shells do not. What would be very helpful next would be a video comparison of
by blunte 6y ago
This article helps us understand what real repls enable that interactive language shells do not.
What would be very helpful next would be a video comparison of writing a program that is just complex enough to not be trivial or too artificial, first using the common approach, and next using repl-driven approach.
- globular-toast 6y agoWhy not just learn a Lisp yourself? You'll get far more out of it than watching a video. The old adage is still true: learning a Lisp makes you a better programmer. Your choices are: * Common Lisp: install emacs, SBCL and set up SLIME, * Clojure: install emacs, Clojure and set up CIDER, * Scheme: install emacs, racket (or guile) and set up Geiser, * Emacs Lisp: install emacs. You'll notice that they all involve emacs. There are probably other ways but you want something that is quite tightly coupled, which all of those emacs packages provide. REPL driven programming is better served by an editor like emacs rather than vim. You want something where you can quickly write/edit code in one buffer and send it to the REPL with a couple of keystrokes. The lower the "cost" of this operation the better; it should be as easy as typing (as it becomes that frequent of an operation). To help you choose: Common Lisp and Clojure are the most practical. They are both general-purpose languages with a wealth of libraries available. Common Lisp, as the older language, has far more literature available including some of the best programming books ever written. Scheme is the most beautiful language and has one of the best textbooks ever made: Structure and Interpretation of Computer Programs (SICP). Emacs Lisp is the most fun, practical but also the most quirky. Luckily, learning any Lisp will put you in a better position to learn any other Lisp. Emacs Lisp is fun because it presents the most exciting part of REPL based programming: hacking a live, running system. Most of the time you run a lisp instance just for the purpose of development, but if your program is working and doing something, then why not hack on it while it's running? There's no difference between running a REPL in a "development" instance and a live, production instance. When you hack on emacs you are doing just that: hacking a live, running instance. It's not often you get to use a tool to hack on the tool itself while it's running. Whatever you choose, good luck on your journey. I truly envy those who have yet to experience the beauty of Lisp programming. It changes you forever.
- smashedtoatoms 6y agoYou can use Common Lisp with VSCode pretty easily now with the Alive plugin. It uses SWANK under the hood, but you don't NEED emacs anymore for Common Lisp. You can also use Calva with Clojure and vscode. The emacs requirement is slowly going away. You get all the perks of hacking live running systems, no emacs required.
- blunte 6y agoNice reply. In my case, I'm already an effective amateur at Clojure, but I only use the repl for testing ideas and debugging. In the same way there are guides that teach TDD, I would enjoy seeing a RDD (repl-driven ...) tutorial.
- simongray 6y agoIn Clojure the "Rich Comment Blocks" are a very common way to use the REPL: https://betweentwoparens.com/rich-comment-blocks https://betweentwoparens.com/rich-comment-blocks
- tincholio 6y agoYou could have a look at this video by Sean Corfield: https://www.youtube.com/watch?v=UFY2rd05W2g https://www.youtube.com/watch?v=UFY2rd05W2g It gives you a good idea of what the REPL workflow is like. Sean will give a more in-depth talk about this next week, and it will be available in the London Clojurians channel afterwards, if you're interested.
- coldtea 6y ago>Why not just learn a Lisp yourself? You'll get far more out of it than watching a video. Because one is a 30 minute endeavor and the other is a weeks/years endeavor.