The Value of Values with Rich Hickey
InfoQYouTube ↗
Further reading 3
Can today’s record explain yesterday’s decision? →Keep the value a decision actually used so that later changes do not erase its explanation.Does splitting code actually split its dependencies? →Start with a rule that sends an email. Separate deciding from doing, then inspect layers, objects and abstractions: which parts must still change together when the rule changes?This video helps answer · What should cross a module boundary?Can one record tell you both now and then? →Two reads disagree. First ask which moment each value describes, then who can change it. Keeping history and coordinating writes solve different problems.This video helps answer · What did the record say at the time?
Caption notes
Updating a location in place loses its prior value. Hickey argues for treating facts as immutable, time-bearing information that can be compared and shared.
Original passages · 6
every time you run that function will you get the same answer novalues aggregate to values all the benefits apply to Aggregatesyou can go look at that place and see something totally differentyou can't update a fact is because you can't change the pastvalues are immutable right and values are semantically transparentno they don't because facts incorporate time how is