Book Image

Professional Scala

By : Mads Hartmann, Ruslan Shevchenko
Book Image

Professional Scala

By: Mads Hartmann, Ruslan Shevchenko

Overview of this book

This book teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You’ll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you’ll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You’ll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the book, you’ll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM.
Table of Contents (12 chapters)

Chapter 6. Implicits

In the previous chapter, we covered the type system and polymorphism. We also covered the different types of variance which provide ways to constrain parameterized types. Finally, we covered some advanced types such as abstract type members, option, and so on.

In this chapter, we will cover implicit parameters and implicit conversions. We'll be learning about how they work, how to use them, and what kind of benefits and perils they provide.

When using a third-party library in your code, you usually have to take its code as it is. This can make some libraries unpleasant to deal with. It can be either the code style that differs from the one in your code base or simply some functionality that the library lacks that you can't elegantly supply.

Some languages have come up with solutions to alleviate this problem. Ruby has modules, Smalltalk allows packages to add to each other's classes, and C# 3.0 has static extension methods.

Scala has implicit parameters and conversions...