Skip to Content
Functional Programming in C++
book

Functional Programming in C++

by Ivan Cukic
January 2019
Intermediate to advanced
320 pages
9h 18m
English
Manning Publications
Audiobook available
Content preview from Functional Programming in C++

9 Algebraic data types and pattern matching

This chapter covers

  • Removing invalid states from programs
  • Using algebraic data types
  • Handling errors with optional values and variants
  • Creating overloaded function objects
  • Handling algebraic data types through pattern matching

During the course of this book, we’ve tackled a few problems the program state introduces. You’ve seen how to design software without mutable state and how to implement data structures that are efficient to copy. But we still haven’t dealt with all the problems of program state: we haven’t covered unexpected or invalid states.

Consider the following situation. Suppose you have an application that counts the total number of words on a web page. The program can start counting ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

C++ Reactive Programming

C++ Reactive Programming

Praseed Pai, Peter Abraham

Publisher Resources

ISBN: 9781617293818Publisher SupportPublisher Website