Articles tagged with 'type-system'
Abstract Classes vs Traits in Scala: Practical Differences
3 min read • • Explanation
Abstract classes and traits share a lot of overlap in Scala: discover how they actually differ
Founder | Rock The JVM
Demystifying Variance Positions in Scala
11 min read • • Explanation
Explore the infamous 'covariant type occurs in contravariant position' problem in Scala: discover effective solutions and best practices
Founder | Rock The JVM
Functional Error Handling in Kotlin: Part 1 - Absent Values
21 min read • • Guide
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
Functional Error Handling in Kotlin: Part 2 - Result and Either
28 min read • • Guide
Continue your functional error handling journey: explore how to effectively use the Result and Either data types in Kotlin
Functional Error Handling in Kotlin: Part 3 - The Raise DSL
41 min read • • Guide
Wrap up your Kotlin functional error handling journey: discover the Raise DSL in Arrow 1.2.0 for managing typed errors with Kotlin contexts
Getting Started with Scala Generics
8 min read • • Explanation
Scala generics are a breeze for Java developers, but what about those coming from Python or JavaScript?
Founder | Rock The JVM
Getting Started with Scala Options
9 min read • • Explanation
Scala Options are among the first concepts we encounter: Discover what they do, why they're useful, and their importance in programming
Founder | Rock The JVM
Kotlin 101: Type Classes Quickly Explained
18 min read • • Guide
Discover type classes in Kotlin: a powerful pattern to organize your code for improved readability, maintainability, and flexibility
Much Ado About Nothing in Scala
4 min read • • Explanation
Explore the `Nothing` type in Scala: A short trip to nothingness and its unexpected usefulness
Founder | Rock The JVM
Refined Types in Scala Quickly Explained
5 min read • • Explanation
Explore how to impose constraints on values at compile time using the Refined library
Founder | Rock The JVM
Scala 3: Anti-Givens Quickly Explained
4 min read • • Guide
Discover a Scala 3 trick few developers know: leveraging the absence of a given instance to enforce type constraints
Founder | Rock The JVM
Scala 3: Extension Methods Quickly Explained
4 min read • • Explanation
Deconstructing extension methods: one of the most exciting features of the upcoming Scala 3
Founder | Rock The JVM
Scala 3: General Type Projections
7 min read • • Explanation
Scala's general type projections are considered unsound and were removed in Scala 3: discover what this means and how it affects your code
Founder | Rock The JVM
Scala 3: Mastering Path-Dependent Types and Type Projections
5 min read • • Explanation
Unlock advanced programming techniques with Scala 3: explore dependent types, methods, and functions in this concise tutorial
Founder | Rock The JVM
Scala 3: Match Types Quickly Explained
7 min read • • Explanation
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
Founder | Rock The JVM
Scala 3: New Types Quickly Explained
7 min read • • Explanation
Explore the Game-Changing New Types in Scala 3: What We're Eagerly Anticipating
Founder | Rock The JVM
Scala 3: Opaque Types Quickly Explained
4 min read • • Explanation
Explore opaque type aliases in Scala 3 and learn how to define new types with zero overhead
Founder | Rock The JVM
Scala 3: Type Lambdas Quickly Explained
4 min read • • Explanation
Exploring type lambdas in Scala 3: a quick yet powerful structure that will elevate your high-level thinking
Founder | Rock The JVM
Scala 3: Type-Level Programming
84 min read • • Guide
Discover how type-level programming can be used to tackle practical problems effectively
Self-Types in Scala: A Quick Overview
3 min read • • Explanation
Self-types are a powerful way to enforce type constraints in Scala: learn to use them effectively in just a few minutes
Founder | Rock The JVM
The Differences Between Null, Nothing, Nil, None, and Unit in Scala
4 min read • • Explanation
Discover the different flavors of 'nothing-ness' in Scala and how they impact your code
Founder | Rock The JVM
Type-Level Programming in Scala 3: Part 1 - Comparing Types
9 min read • • Guide
Harness the power of givens to infer type relationships in Scala 3: at compile time
Founder | Rock The JVM
Type-Level Programming in Scala 3: Part 2 - A Quicksort on Types
16 min read • • Guide
Level 90 of type-level programming: implementing a real sorting algorithm on lists as types
Founder | Rock The JVM
Type-Level Programming in Scala: Part 1 - Numbers and Comparisons
7 min read • • Guide
Harness the full power of Scala's type system: let the compiler infer complex type relationships for you at compile time
Founder | Rock The JVM
Type-Level Programming in Scala: Part 2 - Adding Numbers as Types
11 min read • • Guide
We continue exploring type-level power in Scala: adding numbers as types at compile time
Founder | Rock The JVM
Type-Level Programming in Scala: Part 3 - Sorting Lists
17 min read • • Guide
The final chapter in our type-level trilogy: mastering list sorting at compile time
Founder | Rock The JVM
Types, Kinds, and Type Constructors in Scala
6 min read • • Explanation
Discover Scala's powerful type system: explore type organization, type constructors, and their significance
Founder | Rock The JVM
Value Classes in Scala Explained
12 min read • • Explanation
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
Why are Scala Type Classes Useful?
4 min read • • Explanation
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?
Founder | Rock The JVM
Why Is Contravariance So Hard in Scala?
4 min read • • Explanation
Unravel the complexities of Scala's powerful type system with our deep dive into contravariance: we simplify and demystify its challenging aspects
Founder | Rock The JVM