functional programmer's starter kit
TRANSCRIPT
![Page 1: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/1.jpg)
FPSKFunctional Programmer’s Starter Kit
![Page 2: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/2.jpg)
FunctionalOO
![Page 3: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/3.jpg)
implementation
Libraries & Frameworks
abstract thinkers & debates
![Page 4: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/4.jpg)
Functional is the only way
![Page 5: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/5.jpg)
implementation
Libraries & Frameworks
abstract thinkers & debates
![Page 6: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/6.jpg)
implementation
Most of what’s online is like this
![Page 7: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/7.jpg)
Immutable
Composition
Promises
![Page 8: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/8.jpg)
Why Functional?
![Page 9: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/9.jpg)
Procedural Past
![Page 10: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/10.jpg)
![Page 11: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/11.jpg)
![Page 12: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/12.jpg)
immutable
Certainty
Structural Sharing
![Page 13: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/13.jpg)
Immutable Structures
![Page 14: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/14.jpg)
code
Work on the Model or API Layer
![Page 15: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/15.jpg)
Less uncertainty within app
No side effects
Composition
![Page 16: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/16.jpg)
The Imperative Way
![Page 17: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/17.jpg)
code
We compose functions for parsing that becomes reusable
![Page 18: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/18.jpg)
We compose functions for parsing that becomes reusable
![Page 19: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/19.jpg)
`
We compose functions for parsing that becomes reusable
![Page 20: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/20.jpg)
“The nature of promises is that they remain
immune to changing circumstances.”
-Frank Underwood
![Page 21: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/21.jpg)
Syntactic Suger
Callback Hell
promises
![Page 22: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/22.jpg)
Promises vs Callbacks
Callbacks are about manipulating control flow….
![Page 23: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/23.jpg)
Promises vs Callbacks
Promises are wrappers that return values
![Page 24: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/24.jpg)
Takeaways1. Use Immutable Data Structures to add certainty to
your app
2. Compose your app with small pure functions that do one thing
3. Take out your callbacks for promises
![Page 25: Functional Programmer's Starter Kit](https://reader033.vdocument.in/reader033/viewer/2022051709/5877eb8a1a28ab20088b5fbf/html5/thumbnails/25.jpg)
Garreth@garreth_dottin
Dottinwww.habitsanddesign.com/fpsk
Thanks to: Tenor Biel
Serena Jang John Paul