tweag / tweag/rules_haskell

Target for development-assistance tools (hlint, weeder,…)

Open
#295 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P3 type: feature request
Dominant language
Starlark
Stars
279
Forks
93
Avg merge
13d 11h
Merged PRs (30d)
3

Description

Here is a routine which I go through all too often.

« Is there a way to do X?

  • Oh! Yes, there is a tool for that… uh… So, you stack install weeder and then you uh. And then you… uh… well, it's a bit complicated. » (the real reason why it's complicated is that I just never remember what to do, if I ever did for that particular tool)

It would be really useful if my project management tool, in this case Bazel, could do something sensible out of the box with such tools.

The way I imagine it is supplementary targets for a number of such tools in the same style as the lint rules which are used to check warning compliance. But that would install the extra tool (maybe using rules_nixpkgs) and run it on our code.

But maybe there is another way. It would be cool if I could populate my repo with sensible default configurations for the tool, but this is probably not something Bazel is particularly well-equipped to do.

So, here is a list of tools that can be considered (propose your own, I'll add them to the list!)

(this is probably related to #33)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing related issue #33 and the current lint-rule approach in rules_haskell. Compare the proposed Bazel targets for hlint and weeder, including installation via rules_nixpkgs and default configurations. Done means the project has an agreed, usable integration approach for these development-assistance tools.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.