Skip to content

Commit 3d5cd89

Browse files
committed
Make explicit that the CLC votes on implementation not design.
Also minor clarifications on the scope of base changes.
1 parent dc18483 commit 3d5cd89

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

PROPOSALS.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ The following is a step by step guide for common proposals:
120120
If your proposal is a "multi-phase proposal" with multiple implementation and deprecation steps, make sure to
121121
precisely define when each step is supposed to take place.
122122

123-
### A note on stale proposals
123+
### Stale proposals
124124

125125
The CLC can revoke its approval for a proposal if an **"activity"** has been overdue for over a year. The revocation request, which
126126
explains what has changed with the passage of time to justify the review, can be initiated by the chair. If no CLC member vetos
@@ -131,6 +131,15 @@ the request, then it automatically passes.
131131
- for a simple proposal: whether it has been merged
132132
- for a multi-phase proposal: whether the next step has been carried out as planned
133133

134+
### `base` changes
135+
136+
Any GHC MR that changes a part of base under CLC purview requires a CLC proposal, pointing to the GHC MR, seeking approval from CLC of the changes to the base API.
137+
This specifically includes:
138+
139+
* Bug-fixes that make a wrongly-implemented functions obey their specification.
140+
Even if the change clearly fixes an outright bug.
141+
* Performance improvements -- even if performance always improves.
142+
134143
## The "when"
135144

136145
If you've got a pet issue that's been sleeping in the depths of a mailing list

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ core-libraries-committee at haskell dot org
4141
## `base` package
4242

4343
The primary responsibility of CLC is to manage API changes of `base` package. The ownership of `base` belongs to GHC developers, and they can maintain it freely without CLC involvement as long as changes are invisible to clients. Changes which affect performance or laziness and similar are deemed visible. Documentation changes normally fall under GHC developers purview, except significant ones (e. g., adding or changing type class laws).
44+
4445
Proposals to change the API of the `base` package are managed by the process, described in [`PROPOSALS.md`][proposals].
46+
While design discussions and questions are welcome, the CLC will only vote on proposals that are accompanied by a concrete implementation (merge request)."
4547

4648
[proposals]: https://github.com/haskell/core-libraries-committee/blob/main/PROPOSALS.md
4749

0 commit comments

Comments
 (0)