ndmitchell / ndmitchell/hlint

Discuss and document suggested way to work with multiple '.hlint.yaml' file from different libraries

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

Nobody has claimed this yet.

Dominant language
Haskell
Stars
1.6k
Forks
210
PR merge metrics
No merged PRs in 30d

Description

So, basically, every library can have bundled .hlint.yaml file with suggestions how to work with this library. Examples:

  1. Custom prelude.
  2. containers
  3. unordered-containers
  4. aeson (why not?)
  5. Some type-safe units, for example, time units.

And in my project I have project-specific HLint rules. If my project uses ~20 libraries it becomes nightmare to download all 20 .hlint.yaml files for every library manually (and keep them updated according to recent version).

I don't discuss here that most libraries in Haskell world don't provide library-specific hlint rules. In perfect world every library should have suggestions for this library even if it's not the case at the moment.

So I want to raise a discussion how to handle this situation: keep automatically up-to-date library-specific .hlint.yaml suggestions.

Relates to #14

Contributor guide

No contributing guide indexed for this repository

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 the proposed workflow in this issue and the related discussion in issue #14. Identify how HLint currently discovers and combines project-specific and library-provided .hlint.yaml files. Done means the project has an agreed, documented approach for keeping multiple library-specific rule files up to date.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
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.