data-oriented-programming 2022-05-18

In Listing 5.16. The reconciliation flow in action, it says:

if(havePathInCommon(previousToCurrent, previousToNext)) {
            return _.merge(current, previousToNext);
        }
        throw "Conflicting concurrent mutations.";

should that be !havePathInCommon()?

Yes!

๐Ÿ‘ 1

Also, typo here:

and this line: "If thereโ€™s a context switch between checking whether the system has changed in the SystemConsistency class and the updating of the state in SystemData class, a mutation might override the changes of a previous mutation."

I think SystemData should be SystemState

You are right!

๐Ÿ‘ 1