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

YouTube

Functional Programming in C++

code::dive conference via YouTube

Overview

This course on functional programming in C++ aims to teach the foundational concepts and features of functional programming, as well as how they can be applied in C++. The course covers topics such as pure functions, first-class and higher-order functions, lazy evaluation, immutable data, algebraic data types, pattern matching, and polymorphism. The teaching method includes exploring functional programming concepts in Haskell and demonstrating their implementation in C++. This course is intended for programmers interested in expanding their knowledge of functional programming and its application in C++.

Syllabus

Intro
Claims and Questions
Key Messages
Table of Contents
Paradigm Definition
Programming Languages, Paradigms and Concepts
Multiparadigm Programming
Paradigm Support: Conclusion
Functional Programming Language
Functional Programming Characteristics
Functional Programming Foundations
Functional Programming Features
C++ Language Features
C++ Language Constructs
Functional Concepts
FP Concepts and C++
Functional Programming Concepts
Deterministic function: Haskell
Pure Function: C++
First-Class and Higher-Order function: Haskell
First Class and Higher Order Functions: C++ Does C++ functions are first-class citizens and
Nested function: Haskell
Nested Function: C++
Anonymous Function: Haskell
Closure: Haskell
Closure: C++
Partial application: Haskell
Partial Application: C++
Currying: Haskell
Recursion: Factorial Implementations
Tail Call Optimization: C++
Types System: Haskell and C++
Type Inference: Haskell
Type Inference: C++
Lazy Evaluation: Haskell and C++
Lazy Evaluation: More C++ (Triple)
Lazy Evaluation: More C++ (Functions)
Lazy Evaluation: More C++ (Susp)
C++ Lazy Evaluation Summary
Immutable Data: Haskell
Immutable and Persistent Data: C++ Example
Algebraic Data Types: Haskell What is an Algebraic Data Type?
Algebraic Data Types: C++
Pattern Matching: Haskell
Pattern Matching: C++ Mach7 Example
Substitution Model: Haskell
Substitution Model: C++
Polymorphic Types: Haskell
Type Classes and Overloading: Haskell
Polymorphism: C++
List Comprehension: C++
Automatic Memory Management: Haskell
Automatic Memory Management: C++
Category Concepts: Functor, Applicative, Monad
Category Concepts: Functor in Haskell
Category Concepts: Functor in C++
Category Concepts: Applicative in Haskell

Taught by

code::dive conference

Reviews

Start your review of Functional Programming in C++

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.