4 ms·
I feel like the programming tools haven’t kept up and so to do this we also need immutable requirements and impeccable programmers. Currently if I change the co
by jbjbjbjb 5y ago
I feel like the programming tools haven’t kept up and so to do this we also need immutable requirements and impeccable programmers. Currently if I change the code in my application it gives different results. I’m not sure if there is a word for it, but I’m thinking of pure applications like we have pure functions. I don’t think the right tools exist for this.
Also the “accountants don't use erasers” feels really glib to me, it’s hard work.
- dgb23 5y agoWe have Git but a commit hash has no notion of whether the consumers have to care about a change. The artifact we produce, typically immutable in a package repository, then has "semantic versioning" (possibly) to convey whether they should care.
- jbjbjbjb 5y agoYeah I my argument is that those tools are ok but a bit inadequate. Certainly not first class solutions. It’s just a thought, I’m not sure it would open up a world of possibilities but there could be more rigorous ways on showing how the logic has changed over time and keeping that alongside the current state of the logic.
- dgb23 5y agoYou might find Unison[0] interesting. Or the more recent developments (or intents) of Clojure spec[1] and the talk Speculation[2]. [0] https://www.unisonweb.org/ https://www.unisonweb.org/ [1] https://github.com/clojure/spec-alpha2 https://github.com/clojure/spec-alpha2 [2] https://www.youtube.com/watch?v=oyLBGkS5ICk https://www.youtube.com/watch?v=oyLBGkS5ICk
- kaba0 5y agoAs others in the thread mentioned, the Unison language is exactly what you are getting at.