YoVDO

Functional Programming in C++

Offered By: code::dive conference via YouTube

Tags

Code::Dive Courses C++ Courses Haskell Courses Functional Programming Courses Higher-Order Functions Courses Polymorphism Courses Lazy Evaluation Courses Pure Functions Courses Algebraic Data Types Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Functional Programming
Delft University of Technology via edX
Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX