--- id: tree-sitter-haskell version: "0.23.1" license: MIT license_treatment: permissive maintenance: aging --- # tree-sitter-haskell — Haskell grammar for tree-sitter License: permissive · Maintenance: aging · Downloads: 121.4K/mo ## What it is and what it does tree-sitter-haskell is a parser grammar for the tree-sitter incremental parsing framework, targeting the Haskell language. It translates Haskell source code into a concrete syntax tree that tools can query and analyze. The grammar supports most modern Haskell features, including many GHC language extensions (BangPatterns, GADTs, TypeFamilies, TemplateHaskell, and many others), though a few extensions remain unsupported or are not applicable to parsing. The package is primarily used by developers building code analysis tools, linters, refactoring engines, or editor integrations that need to understand Haskell syntax. It does not parse or execute Haskell code itself; it only produces a tree representation. The grammar includes supertypes (expression, pattern, type, declaration, statement, etc.) that allow queries to match nodes at different levels of abstraction, making it suitable for both simple token extraction and complex semantic queries. Use it for: - Build a Haskell linter or style checker that traverses the syntax tree to detect code patterns. - Implement editor features (syntax highlighting, code folding, go-to-definition) using tree-sitter queries. - Create a code refactoring tool that identifies and transforms specific Haskell syntax patterns. - Analyze Haskell codebases to extract metrics (function count, module dependencies, type usage). - Develop a documentation generator that parses Haskell source to extract type signatures and comments. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a tree-sitter parser grammar for Haskell, enabling incremental parsing and syntax tree generation for Haskell source code. Yes, if you are building a Haskell code analysis or editor tool and need incremental parsing. The grammar is comprehensive and actively maintained. However, install only if you already use tree-sitter; this package is a grammar plugin, not a standalone parser. Be aware that the last release was 642 days ago, so check whether recent language extensions you need are supported. ## Install pip install tree-sitter-haskell uv add tree-sitter-haskell poetry add tree-sitter-haskell ## Installing tree-sitter-haskell Before you install: Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (x86_64, ARM, Windows). Package is aging—last release was 642 days ago, though the repository remains active with recent commits. License in practice: MIT license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions. Quickstart: pip install tree-sitter-haskell from tree_sitter import Language, Parser HASKELL = Language('/path/to/haskell.so') parser = Parser() parser.set_language(HASKELL) tree = parser.parse(b'main = putStrLn "Hello"') Requires tree-sitter core library and compiled parser binary; you must obtain or build the haskell.so parser library separately (not bundled by this package). Verify before relying: - Whether the package includes precompiled parser binaries or requires manual compilation of the grammar. - How to obtain or generate the haskell.so parser library needed by the usage example. - Support status for GHC language extensions marked as unsupported (Arrows, LexicalNegation, Modifiers, StaticPointers). ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: aging - Downloads: 121.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags haskell parser tree-sitter, incremental parsing haskell, haskell syntax tree, tree-sitter grammar haskell, haskell language parsing, ast generation haskell, haskell code analysis, parser-grammar, tree-sitter, haskell-tooling [View on SkillFed](https://skillfed.io/packages/tree-sitter-haskell) · [View on PyPI](https://pypi.org/project/tree-sitter-haskell/)