3 ms·
The main thing a statically typed pure functional language tries to do is force you to "mark" the side effect in your code with type annotations. Various effect
by T_S_ 15y ago
The main thing a statically typed pure functional language tries to do is force you to "mark" the side effect in your code with type annotations. Various effects can be modeled with different types. Many of these types still support some form of composability, which promotes modularity--a major goal of functional programming.
Whether every effect can and should be modeled in this way seems to be an open question that depends on the semantics you wish to apply to your programming language.