Being that PureScript is eager-evaluation (unlike Haskell lazy), does that mean that a function will be called whether or not underlying values (however deep) have changed?

monoidmusician replies on Slack:

eager essentially means that whenever a function application is written, that function will be executed whenever it’s caller is executed; lazy means that the function will be executed only when its result needs to be evaluated and branched on

this has nothing to do with whether the input values have changed – that’s more like memoization (or Phil’s work on incremental functions)

1 Like