|
|
|
|
|
by willtim
3247 days ago
|
|
These functions do not perform IO, they return IO actions that can be further composed. They are invoked from other functions that also return IO actions, again no IO is actually performed until the top-level final composite action is run by the runtime. All composition of IO actions is performed with full referential transparency and adherence to the Wikipedia definition. |
|
Moreover, if you invoke these functions multiple times they will produce different results.
Hence, no strict adherence to FP principles.