data-oriented-programming

cbc 2022-05-18T20:46:56.019119Z

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

cbc 2022-05-18T20:46:59.814419Z

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

cbc 2022-05-18T20:47:13.569609Z

should that be !havePathInCommon()?

Yehonathan Sharvit 2022-05-19T05:49:44.024429Z

Yes!

๐Ÿ‘ 1
cbc 2022-05-18T20:52:24.044659Z

Also, typo here:

cbc 2022-05-18T20:52:26.212169Z

cbc 2022-05-18T20:52:52.310799Z

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."

cbc 2022-05-18T20:53:09.898509Z

I think SystemData should be SystemState

Yehonathan Sharvit 2022-05-19T05:50:30.092089Z

You are right!

๐Ÿ‘ 1