ReactivePlatform/Pragmatic-Scala
62.8
Adequate · 20 September 2026
6.4k
lines of production code
Scala
with Java
1
measurement over time
What this system is
This repository serves as a companion codebase for the 'Pragmatic Scala' book, providing runnable examples and test cases for various Scala language concepts. It covers topics such as functional programming, pattern matching, actors, recursion, and type safety, alongside corresponding Java examples for comparison. The project is structured by chapter to demonstrate specific features, errors, and best practices, supported by a Scala build environment with Akka and testing frameworks.
Features
Added runnable Scala examples for stock analysis, actors, and pattern matching
This update introduces several new Scala source files that provide runnable examples for the book's chapters. Chapter 1 adds \FastTopStock.scala\ (using parallel collections) and \TopStock.scala\ (sequential) to demonstrate fetching and comparing year-end stock prices. Chapter 9 introduces \ThingsAcceptor.scala\ for basic type matching and \TradeStock.scala\ for advanced pattern matching on trade transactions. Chapter 13 adds \HollywoodActor4.scala\ and \UseActor.scala\ to demonstrate Akka actor message passing and counting. Chapter 15 includes \StockPriceFinder.scala\ for fetching latest stock prices and parsing XML configurations.
repository · high confidence
Added runnable code samples and expected outputs for Scala chapters 1, 10, 11, and 12
This update adds a comprehensive set of runnable code samples and their corresponding expected outputs for chapters 1, 10, 11, and 12 of the Pragmatic Scala book. Chapter 1 includes examples demonstrating imperative versus functional approaches to finding maximum values and doubling lists, along with a stock data resource file. Chapter 10 introduces exception handling patterns, including catch-all blocks, exception ordering, and thread sleeping. Chapter 11 covers recursion, tail-call optimization (TCO) for factorials, trampolining for deep recursion, and bytecode inspection of recursive methods. Chapter 12 explores lazy evaluation, including lazy vals, lazy collections, streams for prime generation, and parallel processing for weather data retrieval. Each code sample is accompanied by its expected output, ensuring that readers can verify the behavior of the examples.
src/main · high confidence
Initial project scaffolding with Scala build and CI configuration
This change introduces the foundational configuration files for a Scala project, including \.scalafmt.conf\ (version 3.5.8) and \.scalafix.conf\ to define code formatting and static analysis rules, a \.travis.yml\ file to set up continuous integration with Scala 2.12.8 and OpenJDK 8, and an updated \.gitignore\ to exclude build artifacts and IDE-specific files. It also adds a \README.md\ documenting the project structure and usage, and a \stocks2.xml\ data file.
(repo-wide) · high confidence
Test coverage
Added Chapter 3 Scala code examples; Added Java test examples for chapters 5, 10, and 14; Added test cases for Scala type mismatch errors in Chapter 4; Added test cases for Scala type system errors in Chapter 5; Added test files for chapters 1, 7, and 14; Added test for ThingsAcceptor2 type mismatch; Added test for chapter 6 dependency injection example; Added test for non-tail-recursive factorial implementation.
Dependencies
Initial project setup with Scala 2.13 and Akka 2.6
The build configuration establishes the project using Scala 2.13.16 and targets JVM 1.8. It integrates Akka 2.6.20 for actor-based concurrency, ScalaTest 3.0.8 and JUnit 4.12 for testing, and Mockito 4.5.0 for mocking. Additional dependencies include Scala XML 2.3.0 and Scala Parallel Collections 1.2.0. The build also enables documentation generation via Paradox with a Material theme and configures Git publishing via GhpagesPlugin.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 63.
Lenses
- Code Health 99
- Architecture 100
- Maturity 45
- Readiness 57
- Security 100
Changes since last survey
- 300 commits — 277 feature/other, 23 fixes
By area
- (repo) — 92 commits
- (root) — 69 commits
- src/main — 57 commits
- project/plugins.sbt — 48 commits
- src/paradox — 21 commits
- project/build.properties — 9 commits
- src/test — 4 commits
Notable commits
- fix: Revert commit(s) 818812b
- fix: fix
- fix: fix
- fix: fix chapter 02
- fix: fix for chapter 01
- fix: fix for chapter 03
- fix: fix up
- fix: fix up
- fix: fix up chapter 11
- fix: fix up chapter 16
- fix: fix up chapter 2
- fix: fix up chapter 5
- fix: fix up chapter 8
- fix: fix up in chapter 8 and 5
- fix: fix up sbt version mismatch
- fix: fix up scalafix
- fix: fix up warning
- fix: fix with book
- fix: make chapter 1 runnable and fix some error
- fix: more fix
- …and 280 more
Architecture
- 0 containers · 1 bounded contexts · 0 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
ReactivePlatform/Pragmatic-Scala was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 2806ebbafd1b6c49e7443fecee049f7c4b420c36 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.