Yes, and if I may add a few more libraries that are actively maintained, with wonderful documentation and great functionalitY -- next.jdbc for SQL, Timbre for logging, Sente for websockets, Reitit for routing, Carmene for Redis, re-frame for frontend state management, Datascript for frontend DB, and many more.
I see REPL driven development more akin to writing music. I pick up the guitar and start playing. I can work on a small fragment and improve it until it sounds good to me. Or I can play the whole song. At all times I have instant feedback and I can hear what I'm working on.
In the case of the REPL you are playing your program. You can play a file, a function, or half of a function. Until it sounds right.
I lack the skill to use music notation for composition, so I rely on my instrument to give me feedback. And I lack the skill to execute the program in my head before I press compile, that's why I rely on the REPL.
You posted on a full moon day, and this is exactly the vibe I get from your projects. Thank you for the wonderful libraries! I've been using thi.ng/geom and thi.ng/color before and the code is easy to use and modify.
I have a feeling a better way to follow through your goals is to decouple tasks from the time it takes to do them. Divide your time in blocks, one tasks per block. The time doesn't depend on the task, and the task doesn't depend on which block you choose to do it.
For me, 3 blocks per day is optimum.
Interesting idea. For me the hardest thing is carving time out to do deep work at all. It’s critical to protect that time and focus on applying to a specific thing.
Exactly. Make space and the action will follow. Reminds me of a quote by John Carmack - “Focus is a matter of deciding what things you're not going to do.”
https://www.kropinski.com/english/timing-problems-getting-in...