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

Explore functional programming concepts and their implementation in C++ through this comprehensive conference talk from code::dive 2016. Delve into the fundamentals of functional programming, comparing Haskell and C++ implementations of key features such as pure functions, higher-order functions, closures, and lazy evaluation. Learn about algebraic data types, pattern matching, and category theory concepts like functors and applicatives. Gain insights into how C++, a multi-paradigm language, supports functional programming constructs and techniques. Discover practical examples and code demonstrations that illustrate the application of functional programming principles in C++, enhancing your understanding of this powerful programming paradigm.

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.