This book gives an introduction to the programming language Scala. It presents it from a functional programming perspective. The book explains with detail functional programming and recursivity, and includes chapters on lazy and eager evaluation, streams, higher-order functions (including map, fold, reduce, and aggregate), and algebraic data types. The book also describes the object-oriented aspects of Scala, as they are a fundamental part of the language. In addition, the book includes a chapter on parallelism in Scala, giving an overview of the actor model.
An introduction to functional programming languages.- The basics of the language.- Lazy and eager evaluation.- Object-oriented programming in Scala.- Types and classes revisited: polymorphism.- Scala: OOL and FP.- Algebraic data types.- Parallelism.
Lecturer of a course on advanced programming and for master students in the University of Sk?vdeProvides a concise introduction of the language from the functional programming perspective Useful to learn the language, serves also as a reference Based on a 'Master on Data Science' course on 'Advanced Programming' started in 2015-2016 at the University of Sk?vde, Sweden Includes supplementary material: sn.pub/extras