4 ms·
>"utmost to shorten the conceptual gap between the static program and the dynamic process" I'm mostly referring to this part of the quote. Pure FP is basically
by crimsonalucard 7y ago
>"utmost to shorten the conceptual gap between the static program and the dynamic process"
I'm mostly referring to this part of the quote. Pure FP is basically a static program and not a dynamic process. Nothing is changing in FP, nothing is dynamic.
FP makes this gap zero. Outside of FP (the distributed system) is a different story of course.
- kikimora 7y agoI think Djeikstra was talking about our limited ability to reason about what program actually does by looking at it source code. FP helps but there is still a long way ahead of us. For example I can create spaghetti code in any language and any programming paradigm. FP helps me to eliminate state, next big thing should help me to eliminate unclear and complex control flow, bad abstractions and clunky API’s.
- neilwilson 7y agoThe abstraction of FP, which is the same as mathematics, is that all functions can be treated as resolved instantly in time and from a given starting point you'll always get the same answer. However in the real world things take time and time flows in one direction, and have a nasty habit of being non linear. FP abstracts away these complications with the notion of 'actions' which are then dealt with by some outside 'runtime system'. Hence System.Time.getClockTime >>= print
- crimsonalucard 7y agoYes I know about the IO loop. FP reduces the gap to zero when segregated away from IO. However I literally said for distributed systems this does not apply. This is IO. If you're referring to something like the DOM, the architecture is similar for redux. Within the bounds of IO your program is not dynamic.