Partial Functions in Practice

Now that we have learned a lot about functions and pattern matching, let's apply our theoretical knowledge to practical programming.

Let's get our chatbot, which we developed during the previous chapter, and change the modes to partial functions instead of classes.


Open /Lesson 3/5-project in the supplement materials and import the project into the IDE.

Representing ChatbotMode as a Partial Function

Let's navigate to the scala file package in com.packt.courseware.l4:

package com.packt.courseware.l4

package object modes {
  type ChatbotMode = PartialFunction[(String,EffectsProvider),Processed]


Here, we see the package object, which was not mentioned previously in our chapters.

The package object is an object which ...

Get Professional Scala now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.