Skip to Content
Scala Cookbook, 2nd Edition
book

Scala Cookbook, 2nd Edition

by Alvin Alexander
August 2021
Intermediate to advanced
799 pages
17h 41m
English
O'Reilly Media, Inc.
Content preview from Scala Cookbook, 2nd Edition

Chapter 10. Functional Programming

Scala supports both object-oriented programming and functional programming styles. Indeed, as I recorded here on my website, at a presentation in 2018, Martin Odersky, the creator of the Scala language, stated that the essence of Scala is a “fusion of functional and object-oriented programming in a typed setting,” with “functions for the logic” and “objects for the modularity.” Many of the recipes in this book demonstrate that fusion, and this chapter focuses solely on functional programming techniques in Scala—what I’ll refer to as Scala/FP in this chapter.

FP is a big topic, and I wrote over seven hundred pages about it in my book Functional Programming, Simplified. While I can’t cover all of that material in this chapter, I’ll try to cover some of the main concepts. The initial recipes will show how to:

  • Write and understand function literals

  • Pass function literals (also known as anonymous functions) into methods

  • Write methods that accept functions as variables

After that you’ll see some very specific functional programming techniques:

  • Partially applied functions

  • Writing methods that return functions

  • Partial functions

The chapter finishes with two examples that help to demonstrate these techniques.

If you’re not familiar with FP, it can be perplexing at first, so it will definitely help to understand its goals and motivations. Therefore, in the next several pages I’ll try to provide the best introduction to functional programming ...

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

Scala Cookbook

Scala Cookbook

Alvin Alexander
Programming Scala, 2nd Edition

Programming Scala, 2nd Edition

Dean Wampler, Alex Payne
Functional Programming in Scala, Second Edition

Functional Programming in Scala, Second Edition

Runar Bjarnason, Michael Pilquist, Paul Chiusano

Publisher Resources

ISBN: 9781492051534Errata Page