Hacker News new | ask | show | jobs
by mjul 1329 days ago
Exactly. It ties to the excessive startup overhead. If you rename things and change stuff you must run the tests in a fresh JVM to ensure that everything has been evaluated in a consistent state rather ad hoc evaluation in the REPL. This means running from the command line in addition to your REPL or restarting the REPL regularly.
2 comments

I don't know - the kind of programmer who's always worried about every what-if probably shouldn't choose any dynamic interactive language in the first place. There are plenty of language permutations out there for all sensibilities.
But programmers should be worried about every what-if scenario, regardless of language.
> worried about every what-if

I hear you about this, but during prototyping one cannot be excessively concerned with did I change the global state enough such that it's better to just start a new REPL (and have to worry about the associated costs)? And if you ask this question a lot, long running REPLs are not a good idea for development.

for prototyping a long running repl is fine.

For validation/testing starting with a clean slate takes away a lot of my worries.

There’s a tool called Clerk which among other things resolves this concern about out of sync definitions https://github.com/nextjournal/clerk