Disclaimer: We won’t be able to match Clojure’s development experience. But we’re getting there!
So! We all love the REPL. It makes it possible to work on pieces so small that errors are trivial. Heard of Kent Beck’s test && commit || revert? Write code. If the test fails, revert your commit. What does that do to your development flow? It makes you code in smaller increments. What’s another good way to ensure that you write code in small increments? Use the REPL! Some things I like about REPL-driven development:
- Reloads that are so fast in speed that you don’t notice their delay.
- State persistence between reloads. I can define something off in the background and query it later.
- A single key press to get a new result.
The last year, I’ve been writing a lot of Python. And I’ve been playing around with how good a Python workflow can get. Turns out, that’s quite far! And now I’m releasing that effort.
hotload watches your files and reloads your Python modules in-place. Please check it out! I’d love comments and feedback.