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

Computer Graphics
University of California, San Diego via edX
Intro to Parallel Programming
Nvidia via Udacity
Initiation à la programmation (en C++)
École Polytechnique Fédérale de Lausanne via Coursera
C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera
Introduction à la programmation orientée objet (en C++)
École Polytechnique Fédérale de Lausanne via Coursera