Rock the JVM Rock the JVM
ROCKTHEJVM
CoursesArticlesPodcastVideosSign InJoin Rock the JVM

Articles tagged with 'type-system'

Abstract Classes vs Traits in Scala: Practical Differences

3 min read  •  Aug 7, 2020  •  Explanation

Beginner

scala

type-system

Abstract classes and traits share a lot of overlap in Scala: discover how they actually differ

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Demystifying Variance Positions in Scala

10 min read  •  Nov 10, 2020  •  Explanation

Advanced

scala

type-system

Explore the infamous 'covariant type occurs in contravariant position' problem in Scala: discover effective solutions and best practices

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Functional Error Handling in Kotlin: Part 1 - Absent Values

21 min read  •  May 3, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Master error handling in Kotlin with ease: discover how nullable types and Arrow Option types tackle errors efficiently, whether you're using object-oriented or functional approaches

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Error Handling in Kotlin: Part 2 - Result and Either

28 min read  •  Jun 16, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Continue your functional error handling journey: explore how to effectively use the Result and Either data types in Kotlin

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Error Handling in Kotlin: Part 3 - The Raise DSL

41 min read  •  Sep 20, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Wrap up your Kotlin functional error handling journey: discover the Raise DSL in Arrow 1.2.0 for managing typed errors with Kotlin contexts

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Getting Started with Scala Generics

8 min read  •  May 12, 2022  •  Explanation

Beginner

scala

type-system

Scala generics are a breeze for Java developers, but what about those coming from Python or JavaScript?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Getting Started with Scala Options

9 min read  •  Jun 2, 2022  •  Explanation

Beginner

scala

type-system

Scala Options are among the first concepts we encounter: Discover what they do, why they're useful, and their importance in programming

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Kotlin 101: Type Classes Quickly Explained

18 min read  •  Feb 6, 2024  •  Guide

Intermediate

fp

kotlin

type-system

Discover type classes in Kotlin: a powerful pattern to organize your code for improved readability, maintainability, and flexibility

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Much Ado About Nothing in Scala

4 min read  •  Apr 21, 2020  •  Explanation

Beginner

scala

type-system

Explore the `Nothing` type in Scala: A short trip to nothingness and its unexpected usefulness

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Refined Types in Scala Quickly Explained

5 min read  •  Sep 9, 2020  •  Explanation

Intermediate

scala

type-system

Explore how to impose constraints on values at compile time using the Refined library

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Anti-Givens Quickly Explained

4 min read  •  Jun 30, 2021  •  Guide

Intermediate

scala

scala-3

type-system

Discover a Scala 3 trick few developers know: leveraging the absence of a given instance to enforce type constraints

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Extension Methods Quickly Explained

4 min read  •  Apr 12, 2021  •  Explanation

Intermediate

scala

scala-3

type-system

Deconstructing extension methods: one of the most exciting features of the upcoming Scala 3

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: General Type Projections

7 min read  •  May 17, 2022  •  Explanation

Intermediate

scala

scala-3

type-system

Scala's general type projections are considered unsound and were removed in Scala 3: discover what this means and how it affects your code

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Mastering Path-Dependent Types and Type Projections

5 min read  •  Nov 27, 2020  •  Explanation

Intermediate

scala

scala-3

type-system

Unlock advanced programming techniques with Scala 3: explore dependent types, methods, and functions in this concise tutorial

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Match Types Quickly Explained

7 min read  •  Feb 2, 2021  •  Explanation

Intermediate

scala

scala-3

type-system

Scala 3 comes with lots of new features: in this episode, we dive into match types, a powerful tool for pattern matching on types and more accurate type checking

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: New Types Quickly Explained

7 min read  •  Sep 25, 2020  •  Explanation

Beginner

scala

scala-3

type-system

Explore the Game-Changing New Types in Scala 3: What We're Eagerly Anticipating

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Opaque Types Quickly Explained

4 min read  •  Oct 2, 2020  •  Explanation

Intermediate

scala

scala-3

type-system

Explore opaque type aliases in Scala 3 and learn how to define new types with zero overhead

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Type Lambdas Quickly Explained

4 min read  •  Oct 7, 2020  •  Explanation

Advanced

scala

scala-3

type-system

Exploring type lambdas in Scala 3: a quick yet powerful structure that will elevate your high-level thinking

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Type-Level Programming

84 min read  •  Dec 6, 2023  •  Guide

Advanced

fp

scala

scala-3

Discover how type-level programming can be used to tackle practical problems effectively

Daniel Beskin

Daniel Beskin

Self-Types in Scala: A Quick Overview

3 min read  •  Apr 3, 2020  •  Explanation

Intermediate

scala

type-system

Self-types are a powerful way to enforce type constraints in Scala: learn to use them effectively in just a few minutes

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

The Differences Between Null, Nothing, Nil, None, and Unit in Scala

4 min read  •  Jul 31, 2020  •  Explanation

Beginner

fp

scala

type-system

Discover the different flavors of 'nothing-ness' in Scala and how they impact your code

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala 3: Part 1 - Comparing Types

9 min read  •  Oct 4, 2021  •  Guide

Advanced

fp

scala

scala-3

Harness the power of givens to infer type relationships in Scala 3: at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala 3: Part 2 - A Quicksort on Types

16 min read  •  Oct 11, 2021  •  Guide

Advanced

fp

scala

scala-3

Level 90 of type-level programming: implementing a real sorting algorithm on lists as types

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 1 - Numbers and Comparisons

7 min read  •  Aug 10, 2020  •  Guide

Advanced

fp

scala

type-system

Harness the full power of Scala's type system: let the compiler infer complex type relationships for you at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 2 - Adding Numbers as Types

11 min read  •  Aug 17, 2020  •  Guide

Advanced

fp

scala

type-system

We continue exploring type-level power in Scala: adding numbers as types at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 3 - Sorting Lists

17 min read  •  Aug 25, 2020  •  Guide

Advanced

fp

scala

type-system

The final chapter in our type-level trilogy: mastering list sorting at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Types, Kinds, and Type Constructors in Scala

6 min read  •  Oct 6, 2020  •  Explanation

Intermediate

scala

type-system

Discover Scala's powerful type system: explore type organization, type constructors, and their significance

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Value Classes in Scala Explained

12 min read  •  Feb 19, 2021  •  Explanation

Beginner

scala

type-system

Discover a powerful technique for eliminating hard-to-trace bugs with ad-hoc type definitions: learn how Scala 2's newtypes and Scala 3's opaque types can enhance your code's safety and maintainability

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Why are Scala Type Classes Useful?

4 min read  •  Jun 11, 2020  •  Explanation

Intermediate

fp

scala

type-system

FP fans discuss the challenge of type classes in pure functional programming with Scala: why are they difficult, and why do we really need them?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Why Is Contravariance So Hard in Scala?

4 min read  •  Mar 31, 2020  •  Explanation

Intermediate

scala

type-system

Unravel the complexities of Scala's powerful type system with our deep dive into contravariance: we simplify and demystify its challenging aspects

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

This site uses cookies. Check our cookie policy (TLDR: no personal information is stored). For more information see our cookie policy.

Footer

Subscribe to our newsletter!

This site is built on trust, and your data is safe. Check out the privacy policy .

Thank you for subscribing! Check your email for confirmation.

Content

  • Articles
  • Courses
  • Videos
  • Scala Courses
  • Kotlin Courses
  • Typelevel Courses
  • ZIO Courses
  • Apache Spark Courses
  • Apache Flink Courses
  • Akka/Pekko Courses

Support

  • Contact
  • Memberships

Company

  • About

Policies

  • Cookie
  • Privacy
  • Refund
  • Terms
  • Trademark
  • Facebook
  • GitHub
  • LinkedIn
  • Twitter
  • YouTube
  • RSS

© 2017–2026 Accelerated Learning System SRL