Professor Frisby Introduces Composable Functional JavaScript
Learn the ubiquitous abstractions for modeling pure functional programs in this JavaScript course. No previous knowledge required. Start composing functionality now.
This course teaches the ubiquitous abstractions for modeling pure functional programs. Functional languages have adopted these algebraic constructs across the board as a way to compose applications in a principled way.
We can do the same in JavaScript. While the subject matter will move beyond the functional programming basics, no previous knowledge of functional programming is required. You’ll start composing functionality before you know it.
advanced beginner
Course Content
Create linear data flow with container style types (Box)
Refactor imperative code to a single composed expression using Box
Enforce a null check with composable code branching using Either
Use chain for composable error handling with nested Eithers
A collection of Either examples compared to imperative code
Create types with Semigroups
Semigroup examples
Ensure failsafe combination using monoids
A curated collection of Monoids and their uses
Unbox types with foldMap
Delay Evaluation with LazyBox
Capture Side Effects in a Task
Use Task for Asynchronous Actions
You’ve been using Functors
Lift into a Pointed Functor with of
You’ve been using Monads
Build curried functions
Applicative Functors for multiple arguments
Apply multiple functors as arguments to a function (Applicatives)
List comprehensions with Applicative Functors
Write applicatives for concurrent actions
Leapfrogging types with Traversable
Maintaining structure whilst asyncing
Principled type conversions with Natural Transformations
Apply Natural Transformations in everyday work
Isomorphisms and round trip data transformations
Build a data flow for a real world app
Retrieve and use data from an api with pure functional constructs
Find the intersection of sets with Semigroups