3 ms·
I have looked at the diagrams. If a side effect occurs between Program A and Program B, then referential transparency is violated. Referential transparency is t
by metazip 2mo ago
I have looked at the diagrams. If a side effect occurs between Program A and Program B, then referential transparency is violated. Referential transparency is the "sacred principle" of algebra; if it is violated, no algebraic transformation is possible—unless I am mistaken or we are talking about a monadic continuation.
- pmcjones 2mo agoCan we move this conversation to email? I am not sure what diagrams you are referring to.
- metazip 2mo agohttps://github.com/pointfreewiki/pointfreewiki.github.io/issues/1 https://github.com/pointfreewiki/pointfreewiki.github.io/iss...
- pmcjones 2mo agoIn that first diagram (https://softwarepreservation.computerhistory.org/FP/Composing_IFR_programs.png https://softwarepreservation.computerhistory.org/FP/Composin...), A and B are supposed to be pure functional programs; side-effects are modeled by each one outputting a new version of each modified input. In the second diagram (https://softwarepreservation.computerhistory.org/FP/Strict_History_Approach.png https://softwarepreservation.computerhistory.org/FP/Strict_H...), as actually implemented in FL, they stick to strictly leftmost-innermost evaluation order so that side-effects are at consistent (but this presumably prevents parallel evaluation).
- metazip 2mo agosome Plasm files https://github.com/metazip/plasmfiles/blob/main/Function-Level.html https://github.com/metazip/plasmfiles/blob/main/Function-Lev...
- metazip 1mo agohttps://github.com/pointfreewiki/pointfreewiki.github.io/issues/1#issuecomment-5446115284 https://github.com/pointfreewiki/pointfreewiki.github.io/iss...