Hardcore Functional Programming in JavaScript
Learn to apply techniques from the forefront of computer science research to solve practical problems in JavaScript.
What you'll learn
Learn to apply techniques from the forefront of computer science research to solve practical problems in JavaScript. Using real-world examples and practical exercises, Joe Nelson and Brian Lonsdorf demonstrate how functional programming allows you to write cleaner and more reusable code, while at the same time avoiding JavaScript “gotchas” like side effects and mutation. At the of the course, Joe and Brian build an example web app using abstract interfaces such as Monads, Functors, Monoids, and Applicatives. Course materials can be found at https://github.com/begriffs/immutube and https://docs.google.com/a/pluralsight.com/presentation/d/1WmIH538r0ubjW5zfKh43I1_Up4OnqQnNhICETyDnhSI/edit#slide=id.g338d117be_040
Table of contents
- Introduction 6m
- Omit Needless Names 8m
- Separating Mutation from Calculation 4m
- Recognize Pure Function 5m
- Separate Functions from Rules 11m
- Currying Exercise 7m
- Currying Exercise Hints 14m
- Currying Exercise Solutions 1 and 2 12m
- Currying Exercise, Challenge 3 Solution 12m
- Currying Exercise, Challenge 3 Solution, Continued 13m
- Compose 6m
- Composition Exercise 4m
- Composition Exercise: Challenge 1 Solution 11m
- Composition Exercise: Challenge 2 Solution 6m
- Composition Exercise: Challenge 3 Solution 6m
- Point-free 4m
- The Silence: Review 10m
- Questions 6m
- Reviewing Composition 5m
- Category Theory 5m
- Objects 6m
- Object Map 10m
- Maybe Functor 9m
- Functors Exercise 1 11m
- Functors Exercise 2 10m
- Functors Exercise 2 Solution 9m
- Functors Exercise 3 Solution 6m
- Functors Exercise 4 Solution 5m
- Functors Exercise Wrap-up 10m
- Either 6m
- IO 8m
- Either/IO Exercise 1 4m
- Either/IO Exercises 2, 3, and 4 5m
- Either/IO Exercise 5 and 6 6m
- Other Functors 10m
- Other Functors: Exercise 1-5 8m
- Functor Laws and Properties 7m
- Monads 15m
- Monads Exercises 7m