haskell / haskell/cabal

Export all internal functions in Distribution.Simple.Utils in .Internal module

Open
#5,757 1 comment 0 reactions 0 assignees View on GitHub
Cabal: other type: enhancement
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

Trying to work around #5756 in my Cabal hook, I can't easily make a

```haskell
noticeSay :: Verbosity -> Text -> IO ()
```

using `say` because lots of functions used inside `notice` aren't exported.

Now I have to copy-paste many functions from that module in order to do it; this is wasting a lot of time to get simple things done.

Cabal should export all the useful functions that aren't public API in an `.Internal` module, so that people can use that to work around problems until things get fixed upstream.

Contributor guide

Open the contributing guide

Research direction

Start by reading Distribution.Simple.Utils and the context from issue #5756. Determine which internal functions are intended for an .Internal module and how exposing them would affect Cabal's API boundaries. Done means the requested internal exports are defined with a clear scope and the relevant behavior is covered by the project's tests.

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
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.