# vkostyukov/scalacaster

Purely Functional Algorithms and Data Structures in Scala

Repository: https://github.com/vkostyukov/scalacaster
Canonical: https://ross.abutalabs.com/products/scalacaster
Homepage: http://www.slideshare.net/vkostyukov/purely-functional-data-structures-in-scala-26175521
Language: Scala
License Family: other
Topics: scala, algorithm, okasaki, functional-programming, data-structures
Last push: 2023-08-14T06:35:45+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4998, "days_push": 1115, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1474, forks 317 (observed 2026-08-28T04:04:49.709011+00:00)

## What it is
Scalacaster is a collection of purely functional algorithms and data structures implemented in Scala, meant to be read rather than executed. It covers lists, queues, heaps, trees, and graphs with techniques from Okasaki-style functional programming.

## Use cases
- learn purely functional data structures in scala
- study okasaki-style persistent data structure implementations
- read annotated source code for heaps and red-black trees
- understand functional graph algorithms in scala
- reference for functional programming interview prep

## When to choose
- you want to study elegant functional implementations of classic data structures
- you are learning Scala through well-commented algorithm code
- you need a reference for persistent heaps, trees, and graphs

## When to avoid
- you need a production-ready library to add as a dependency
- you need executable, tested code for a project
- you need imperative or mutable data structure implementations

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: developer-tools
- domain: programming-languages, education, tutorials
- platform: jvm
- tags: functional-programming, data-structures, okasaki, scala, educational-code, persistence, algorithms

## Member repositories
- vkostyukov/scalacaster (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:49.709011+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:34:35.066507+00:00, confidence not recorded.
  - readme: https://github.com/vkostyukov/scalacaster (fetched 2026-08-28T04:04:49.709011+00:00, sha 2cc10a208db9)
  - homepage: http://www.slideshare.net/vkostyukov/purely-functional-data-structures-in-scala-26175521 (fetched 2026-08-29T11:41:59.986886+00:00, sha 9526a6769579)
  - site_page: https://www.slideshare.net/slideshow/altinity-quickstart-for-clickhouse22020915pdf/253001351 (fetched 2026-08-29T11:41:59.996492+00:00, sha a134d64915c0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
