Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Scala Advanced, Part 1 - The Scala Type System

via Udemy

Overview

Mutable State, Scala Type System In-Depth, Implicits

What you'll learn:
  • Use the full Scala type system to correctly implement general purpose re-usable libraries and APIs for other Scala developers to use easily.

Scala Advanced, Part 1

The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.

Part 1 provides in depth and thorough knowledge of the Scala type system, an important precursor to any library development. We start off with a look at the dangers, and safe use, of mutable shared state in Scala, covering properties and caching. From there we delve into the Scala type system including:


  • Generics

  • Co- and Contra-Variance

  • Upper and Lower Bounds

  • Type Inference

  • Type Parameters and Type Members

  • Path Dependent Types

  • Refinement Types

  • Structural Types

  • Recursive Types

  • F-bounded Polymorphism

The final two modules then move on to the secondary Implicits type system that augments the regular Scala type system, covering:


  • Simple Implicit Parameters

  • Type Classes

  • Implicit classes, objects and methods

  • Type Class Composition

  • Implicit Constraints

  • =:= and

  • Implicit Class and Type Tags

  • Implicit Conversions

  • extends AnyVal

And more.


After completing this course you will understand the Scala type system in a way that lets you construct your own well designed APIs, reason about type abstraction and calculus, apply implicit constraints and augment the language rules, and much more.

Parts 2 and 3 (available separately) cover topics like best practices, idioms, patterns, advanced functional programming, asynchronous programming, parser-combinators, macros,performance profiling and optimization, and much more. These parts rely on information presented during this advanced part 1 course.

Taught by

Dick Wall

Reviews

4.9 rating at Udemy based on 394 ratings

Start your review of Scala Advanced, Part 1 - The Scala Type System

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.