4 ms·
Functional Core, Imperative Shell[1] is one of the most useful patterns. I will probably use it in every future project. Two major production projects that use
by Leftium 4y ago
Functional Core, Imperative Shell[1] is one of the most useful patterns. I will probably use it in every future project. Two major production projects that use FCIS are:
- ReactJS: https://svitla.com/blog/functional-programming-in-typescript https://svitla.com/blog/functional-programming-in-typescript
- CodeMirror/ProseMirror: https://codemirror.net/docs/guide/ https://codemirror.net/docs/guide/
Another functional concept I find very useful is immutability. Immutability "clicked" for me after watching this talk[2]. I wish immutability was a first-class concept in JS/TS. (It will be, eventually.[3]) For now, I use immer.js for immutability in JS.
In retrospect, my programming naturally tended to be "functional-esque. Now I do it very deliberately, even though the language isn't purely functional (JS/TS).
[1]: https://hw.leftium.com/#/item/18043058 https://hw.leftium.com/#/item/18043058
[2]: https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/ValueOfValues.md https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
[3]: https://fjolt.com/article/javascript-records-and-tuples https://fjolt.com/article/javascript-records-and-tuples