Code as Data: Extracting & Analyzing Info from Haskell Codebases
summary
500 Haskell developers at JP extract structured facts from million‑line codebases and over 2,000 modules using GHC compiler plugins that actually run after typechecking and on Core. Tools produce a function dependency graph (fdep), a field usage map (fieldInspector), Core path charts (coresyn2chart), a change vs effect diff analyzer (CADA), and a repo splitter (chopper). These yield concrete results: automated refactorings, higher test coverage, narrower regression scopes, faster compilation, and validated LLM code generation checked by GHC.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:29Code as data overview
- 5:40Motivation for code as data
- 9:58GHC plugins for analysis
- 12:46Function and type dependency graphs
- 15:18Regression testing tools
- 17:49Symbolic code traversal
- 20:59Codebase maintenance
- 22:33Chopper tool
- 26:05Refactorings with code data
- 27:09LLMs for code generation
- 29:15Why code as data matters
- 30:39Q&A
related talks
01h 02mOptimising for fast builds with GHC
53mFalling Skies: Haskell Tooling and Ecosystem Growth
47mIndustrial Strength Laziness: What's Next?
22mHaskell Tools, Compilers, Libraries and Community Projects
52mProject Presentations - Haskell
21mProduction Haskell Demystified
54mHaskell Project Showcase and Community Contributions
01h 26mReflections on Haskell@Meta
