On Interactive Development

5 points by miguno


technomancy

Libraries like YeSQL make these hard to achieve, because: […] Functions are generated via macros, making it hard to use “go to definition” in interactive development and to trace SQL queries from function names.

This is a common misconception, but it is not true. I’ve implemented this for HugSQL: https://github.com/layerware/hugsql/pull/78

Decent article otherwise.

vindarel

Surprising things to me (as a common lisper):

if I just want to tweak a setting—say, changing a port from 8080 to 8089—I’d have to restart the entire system.

(with solutions from “Popular Clojure lifecycle management libraries”)

And system startup times can be slow enough to disrupt flow.

Some components, like web servers or schedulers, are expensive to restart—often taking several seconds.

when we’re unfamiliar with a library, we may miss tools that enable interactive work.

By default, adding a new library to deps.edn does not make it available in the running REPL session.