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

CodeSignal

Advanced Functional Programming Techniques

via CodeSignal

Overview

This advanced course will introduce you to the concept of monads in C++ and teach you how to implement and compose them. You will explore the design patterns functors, monads, and monad transformers, along with practical usage scenarios.

Syllabus

  • Lesson 1: Dynamic Type Declaration in C++
    • Use `auto` for Iterator in printVector Function
    • Use `decltype` for Type Deduction
    • Using std::is_same in Function Templates
    • Multiply and Add with Dynamic Types
    • Dynamic Type Declaration in Class Methods
    • Apply Transform Function with Compile-Time Type Check
  • Lesson 2: Optional values with std::optional
    • Find Ingredient Amount
    • Proper Handling of Empty Optional Values
    • Finding the First Digit with std::optional
    • Find the Maximum Negative Number using std::optional
  • Lesson 3: Functor Design Pattern
    • Transformer Functor for 2D Grids
    • Create a Functor to Transform Strings in a Vector
    • Using Functor to Transform Multiple Vectors
    • Implement a Filtering Functor
  • Lesson 4: Understanding Monads
    • Implementing Operations with Logging
    • Implementing a Functor for NumberWithLogs
    • Implementing Monad with ValueWithLogs

Reviews

Start your review of Advanced Functional Programming Techniques

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.