> and using version control as the primary source of truth. Reproducibility
is important.

> we got ourselves confused on occasion and the more it happened, the more
it became clear to me that we needed to shift to a more static view

I want to voice what I think is agreement that reliability of the rest of
the universe is important (all that is not "the code right in front of
me"). Correct output is a function of correct input and the correct
function that processes it. So users are intentionally guarded against and
programmers are responsible for config files and source. Everything else
*has* to work. It's extremely confusing (time-wasting) to debug your code
only to later learn the server has the old version of code on it, for
example, or that, god forbid, gcc compiles 2+3 to 2+4 on 13 Aug every year.
The config file is bad enough, but I don't know a solution to that, and
it's under my control in my dev environment. It can definitely get
confusing when the production environment malfunctions due to a config
issue. But, the more confidence the programmer has in their code and the
universe as a whole, the more easily they can just declare "it's probably
the config".

Programming Systems introduce additional mutations of the universe beyond
the source code that effectively undermine the source code. The
"referential transparency" between programmer thought and users' code
execution is lost, unless the programmer manages to perfectly mutate their
thoughts in parallel with the changes to the runtime environment. But we
make mistakes with plain old code, so I'm gonna say, "not happening".

On the other hand, mutation is for efficiency. If there's a case where
refreshing all deployments after a source change takes far too long, a
compromise may be needed. But I don't work in a sufficiently complex
product that would benefit from ditching reliability in favor of
tinkerability, and if it was that complex, I'd probably prefer reliability!

So, I recommend sticking with "Racket AST implies the set of program
outputs".

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to