# sdiehl/wiwinwlh

What I Wish I Knew When Learning Haskell

Repository: https://github.com/sdiehl/wiwinwlh
Canonical: https://ross.abutalabs.com/products/wiwinwlh
Homepage: https://sdiehl.github.io/wiwinwlh/
Language: Haskell
License: NOASSERTION
License Family: other
Topics: functional-programming-examples, functional-programming, examples, article-series, haskell
Last push: 2025-09-13T07:49:50+00:00

## Health v2 (maintenance only)
Score: 51/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 41, release rhythm 35, longevity 100
- inputs: {"age_days": 4539, "days_push": 354, "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 2664, forks 241 (observed 2026-08-28T04:07:08.902928+00:00)

## What it is
A comprehensive Haskell tutorial and reference guide ('What I Wish I Knew When Learning Haskell') by Stephen Diehl, covering basics, monads, language extensions, laziness, GADTs, type families, and advanced type-level programming. It includes extensive runnable example code organized by chapter and is published as HTML and PDF.

## Use cases
- learn haskell from scratch
- understand monads and monad transformers
- reference for ghc language extensions
- examples of advanced haskell type system features
- study guide for intermediate functional programming
- learn gadts and type families in haskell

## When to choose
- you want a deep, example-driven tour of Haskell beyond beginner tutorials
- you need explanations of GHC extensions, laziness, and type-level programming
- you prefer reading alongside compilable example code

## When to avoid
- you need content updated for the latest GHC versions and modern libraries
- you want a beginner-friendly interactive course with exercises
- you need actively maintained or supported learning material

## Facets
- artifact type: learning-resource
- maturity: abandoned
- function: documentation, developer-tools
- domain: programming-languages, tutorials
- platform: cross-platform
- tags: haskell, tutorial, monads, ghc, type-system, example-code, functional-programming

## Member repositories
- sdiehl/wiwinwlh (main) score 51

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:08.902928+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-30T02:18:19.466355+00:00, confidence not recorded.
  - readme: https://github.com/sdiehl/wiwinwlh (fetched 2026-08-28T04:07:08.902928+00:00, sha b47469ade1a7)
  - homepage: https://sdiehl.github.io/wiwinwlh/ (fetched 2026-08-29T10:01:01.095065+00:00, sha eaf2239dd2a4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
