winitzki/sofp resource
A free book: "The Science of Functional Programming" observed · 2026-08-28
Health v2 · maintenance only
66/100
- Activity 96
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 2607
- days_rel: 714
- days_push: 28
- n_releases_24m: 1
Adoption not part of the score
1480 stars · 100 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
The source repository for 'The Science of Functional Programming', a free tutorial book with examples in Scala, written in LyX/LaTeX and published under the GNU FDL. It covers the theoretical foundations functional programmers need, developed from first principles with complete explanations, derivations, and proofs.
Use cases
- learn functional programming theory from first principles
- understand category theory for programmers
- study type systems and parametricity
- find a free Scala functional programming tutorial
- learn Curry-Howard correspondence
- self-study mathematical foundations of FP
When to choose
- you want a rigorous, proof-based treatment of functional programming theory
- you work in Scala and want deep theoretical grounding
- you need a free, openly licensed book you can modify and redistribute
When to avoid
- you want a hands-on project-based tutorial
- you need an introductory programming book with no math
- you work in a language other than Scala and want language-specific examples
Facets
learning-resource · maturity active
documentation programming-languages tutorials education cross-platform functional-programming scala book category-theory type-theory latex free-book
1 source
- readme: https://github.com/winitzki/sofp · fetched 2026-08-28 · 82b7fdbf36fb
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| winitzki/sofp | main | 66 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem