Hi Everyone, I'm taking part in an effort to introduce REPL-Driven Development at my shop. The shop has historically been based in PHP/Python/javascript and similar languages and most devs there have their workflows formed by that technology.
I'm used to using a REPL or REPL-connected editor to develop and debug code but I've always struggled to articulate exactly why and how I go about doing that, other than saying that it "tightens the feedback loop like nothing I've ever seen," which I think is descriptive yet still not particularly helpful. I'm wondering if there's a collection of techniques somewhere online. I've spent some time googling for things like it but I'm coming up mostly empty. I watched this years ago and it seems pertinent: https://www.youtube.com/watch?v=_B_4vhsmRRI I also found Jay Field's RDD post which I had read before, but sort of just states the same thing I already said. Some examples of techniques that aren't possible without a REPL 1. (def *foo* (arbitrary expression)) Modify a function definition to capture a var and then run what you're working on to have a value you can interact with as you continue to develop. This is also incredibly useful when debugging code because you can capture the args to a function and then work with and inspect them offline. If you need to capture something in a let chain you can `_ (def …)` handily. 2. Interactively modify a function definition when you believe you have a solution and verify that it works immediately (no release!) I think the thing that I find hard to express about this is that all the advice boils down to "You have the entirety of your language instantly at your disposal to debug and develop anything" which is both true and not very helpful if the tightest feedback loop you've used is TDD. Any ideas? -- In Christ, Timmy V. http://blog.twonegatives.com/ http://five.sentenc.es/ -- Spend less time on mail -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.