Overview
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