Code design paradigms
A functional approach also enables a powerful paradigm, which focusses on data rather than app constructs. This means that user data, app data and app state (e.g. button status) are all defined as data structures to be transformed by functions. This approach may or may not be in contrast to common architectures enabled by React, Vue etc. using state and props.
There are many articles and books explaining functional programming and why it's useful (and interesting!). I would say that my approach to FP as practiced in this repository can be considered 'level 1' FP, whilst 'level 2' FP uses more advanced concepts. Here are some materials:
- FP 'level 1' includes immutability, pure functions, map, reduce and related concepts:
- FP 'level 2' includes algebraic structures, fantasy land and related concepts: