Skip to content

language support: Haskell #598

@symbioticsec-root

Description

@symbioticsec-root

Hi,

We (Symbiotic Security) have a working Haskell integration in our fork and would like to upstream it.
Before opening a large PR, we'd like to align on approach/scope and how best to coordinate review.

What this adds

  • New language: haskell (.hs) recognized by language selection + filename guessing.
  • Target parsing + pattern parsing for Haskell via tree-sitter
  • Haskell -> AST_generic conversion

Questions

  1. tree-sitter packaging: in our fork, tree-sitter generated sources are currently vendored. Would you be ok if we add languages/haskell/tree-sitter/semgrep-haskell as a git submodule (like other languages) to upstream?

  2. semgrep_interfaces update: our fork currently points cli/src/semgrep/semgrep_interfaces to a branch in our internal semgrep-interfaces fork (to add Haskell to the language enum). We assume upstream would prefer this as a separate PR to opengrep/semgrep-interfaces first, then update OpenGrep's submodule pointer back to upstream.

  3. Are there any acceptance criteria you want us to meet up front (tests, docs, performance/regression expectations, rule/pattern compatibility)?

If it's easier to discuss sequencing/review expectations in a private channel (Slack or similar), we're happy to coordinate that way.
We are open to any suggestions on how best to proceed and look forward to collaborating on this.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions