Skip to content

feat: add Haskell language support - #648

Open
albertodvp wants to merge 3 commits into
Egonex-AI:mainfrom
albertodvp:feat/haskell-support
Open

feat: add Haskell language support#648
albertodvp wants to merge 3 commits into
Egonex-AI:mainfrom
albertodvp:feat/haskell-support

Conversation

@albertodvp

@albertodvp albertodvp commented Aug 16, 2026

Copy link
Copy Markdown

Summary

Adds end-to-end Haskell support, including .hs and .lhs source detection, Cabal project detection, tree-sitter structural extraction, internal module resolution, test conventions, and analysis guidance. This enables /understand to produce useful dependency graphs for real Haskell projects instead of treating their source files as unsupported.

Linked issue(s)

No linked issue.

How I tested this

Revalidated against the current branch on 2026-08-16:

  • pnpm lint
  • pnpm --filter @understand-anything/core build
  • pnpm --filter @understand-anything/core test — 980/980 tests passed
  • Scanner suite — 42/42 tests passed
  • Import-map suite — 62/62 tests passed
  • Merge graph Python suite — 85/85 tests passed
  • Manual smoke test against Pandoc

Pandoc smoke-test evidence:

  • 2,800 files scanned, including 366 Haskell files
  • Knowledge graph generated with 7,238 nodes and 8,711 relationships
  • Dashboard loaded successfully and rendered the Pandoc architecture graph
  • An incremental Haskell probe was detected as the 367th Haskell file
  • Its function and export were extracted successfully
  • Its Text.Pandoc import resolved to src/Text/Pandoc.hs

Resolved regressions

  • test/Main.hs, tests/Main.hs, and their .lhs equivalents are now classified as test entry points while production Main modules remain production.
  • Literate Haskell tests such as test/FooSpec.lhs now map deterministically to .lhs production candidates under test/, src/, app/, and lib/.
  • End-to-end regression coverage verifies both .lhs supplemental linking and correction of inverted test/Main.hs → production edges into canonical production → test/Main.hs edges.
  • Haskell registry conventions now match the deterministic merger for Spec, Test, Tests, and test-suite Main files across .hs and .lhs.

Versioning

  • Version bumped from 2.9.4 to 2.10.0 in all six manifests required by CLAUDE.md.
pandoc-haskell-dashboard

@albertodvp albertodvp changed the title feat: add Haskell language support feat: add Haskell language support Aug 16, 2026
@albertodvp
albertodvp marked this pull request as ready for review August 16, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant