Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

egghead.io

Professor Frisby Introduces Composable Functional JavaScript

via egghead.io

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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.

Syllabus

  • Create linear data flow with container style types (Box)
  • Create linear data flow with container style types (Box)
  • 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
  • Refactor imperative code to a single composed expression using Box
  • Refactor imperative code to a single composed expression using Box
  • Enforce a null check with composable code branching using Either
  • Enforce a null check with composable code branching using Either
  • Use chain for composable error handling with nested Eithers
  • Use chain for composable error handling with nested Eithers
  • A collection of Either examples compared to imperative code
  • A collection of Either examples compared to imperative code
  • Create types with Semigroups
  • Create types with Semigroups
  • Semigroup examples
  • Semigroup examples
  • Ensure failsafe combination using monoids
  • Ensure failsafe combination using monoids
  • A curated collection of Monoids and their uses
  • A curated collection of Monoids and their uses
  • Unbox types with foldMap
  • Unbox types with foldMap
  • Delay Evaluation with LazyBox
  • Delay Evaluation with LazyBox
  • Capture Side Effects in a Task
  • Capture Side Effects in a Task
  • Use Task for Asynchronous Actions
  • Use Task for Asynchronous Actions
  • You've been using Functors
  • You've been using Functors
  • Lift into a Pointed Functor with of
  • Lift into a Pointed Functor with of
  • You've been using Monads
  • You've been using Monads
  • Build curried functions
  • Build curried functions
  • Applicative Functors for multiple arguments
  • Applicative Functors for multiple arguments
  • Apply multiple functors as arguments to a function (Applicatives)
  • Apply multiple functors as arguments to a function (Applicatives)
  • List comprehensions with Applicative Functors
  • List comprehensions with Applicative Functors
  • Write applicatives for concurrent actions
  • Write applicatives for concurrent actions
  • Leapfrogging types with Traversable
  • Leapfrogging types with Traversable
  • Maintaining structure whilst asyncing
  • Maintaining structure whilst asyncing
  • Principled type conversions with Natural Transformations
  • Principled type conversions with Natural Transformations
  • Apply Natural Transformations in everyday work
  • Apply Natural Transformations in everyday work
  • Isomorphisms and round trip data transformations
  • Isomorphisms and round trip data transformations
  • Build a data flow for a real world app
  • Build a data flow for a real world app
  • Retrieve and use data from an api with pure functional constructs
  • Retrieve and use data from an api with pure functional constructs
  • Find the intersection of sets with Semigroups
  • Find the intersection of sets with Semigroups

Taught by

Brian Lonsdorf

Reviews

Start your review of Professor Frisby Introduces Composable Functional JavaScript

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.