These are chat archives for jdubray/sam-examples
btw i'm convinced this is THE way to manage the complexity of multiple actors attempting to modify the model - action - present - accept - model update - view update - very clean with a mathematical proof of correctness to boot - sweet.
I know that Feynman said "The first principle is that you must not fool yourself – and you are the easiest person to fool.", but after actively building large scales projects with the SAM pattern, I also believe the same thing. There is no increase in complexity of the lifespan of a project. You can always reason in simple and local terms, regardless of the size of the application. I wish I could articulate that better, and people would give it a try, and understand that the structure of their code is important and Dr. Lamport may have well found a universal structure.
Sj = fij( Si)
Sj = State( Model.present( A(Si) )).then( Model => NAP(Model))