We want to share our experience and results of working on a static analysis tool for Haskell projects, which itself is written in Haskell:
https://github.com/kowainik/stan
Stan is a Haskell Static Analyser. It uses a novel approach to static analysis based on the HIE files — compile-time information about Haskell source code gathered and recorded by GHC. The HIE files contain types and detailed information about all identifiers in modules. Usage of the HIE files unleashes the full power of static analysis and opens opportunities for sophisticated and non-trivial checks. Additionally, Stan’s approach allows it to provide insightful and robust analysis for projects of a different variety.
In the talk about Stan, we want to share the project goals and implementation details, specifically:
- Stan implementation of Type and AST patterns using the final tagless technique
- Integration with Cabal and collecting of information from multiple sources
- Flexible configuration via TOML or CLI
- Usage of algebraic typeclasses and new abstractions to capture the whole runtime environment
Also, we will demonstrate how Stan works on real-world projects and showcase Stan advantages that could benefit the Haskell ecosystem.
Fri 28 AugDisplayed time zone: Eastern Time (US & Canada) change
12:30 - 13:30 | |||
12:30 22mTalk | Exactprint in GHC HIW | ||
12:52 22mTalk | Liquid Haskell as a GHC Plugin HIW Alfredo Di Napoli Well-Typed LLP, Ranjit Jhala University of California at San Diego, USA, Andres Löh Well-Typed LLP, Niki Vazou IMDEA Software Institute | ||
13:14 22mTalk | Stan — Haskell Static Analyser HIW |