CLC Elections January 2025

Core Libraries Committee seeks nominations for three expiring seats (including my own).

What is CLC?

CLC is a volunteer body, primarily tasked with management of API of base package, but also owning so-called Core Libraries and responsible for PVP. You can find more at our home page.

Who should apply?

Anyone who meets the following criteria should apply:

  • Candidates should have enough bandwidth to review merge requests to base on a semi-frequent basis (~3-4 per month), and sustain this for their 3 years term in a healthy manner.
  • Candidates should be able to contribute opinions and analysis to issues raised by the community as a part of the CLC proposal process on a semi-frequent basis (~7 per month).
  • Candidates should be good communicators, and at least be able to articulate to the CLC team when they will be available vs. unavailable.
  • Candidates should be productive, and be able to follow through on merge requests and conversations to their completion in a diligent and timely manner.

We encourage any and all who satisfy these requirements to apply. Please note that we are not looking for the biggest galaxy brain in the room – quite the opposite. We are looking for productive, motivated individuals who want to help support the ecosystem that we love. As such, we hope to build a broad sample of the community.

How can I apply?

To apply for one of these positions, send an email to clc.nominations.2025@gmail.com that consists of the following data:

  • The subject “CLC Election September 2025 - {your name}”.
  • Why you think you’re a good fit given the above criteria.
  • If applicable, please point us to some code you’ve written.

Please apply before Feb 2.

15 Likes

To give people a better idea about the workload and service level at CLC (and to up the topic ;), here is the output of https://github.com/haskell/core-libraries-committee/blob/main/Statistics.hs:

$ ./Statistics.hs
Timeframe: since 2021-10-23 until 2025-01-15

Total number of CLC proposals: 250
Rate of proposals:  6 per month
Approved proposals: 134
Declined proposals: 9

Median  time from creation to decision: 48 days
Average time from creation to decision: 83 days
Median  time from creation to approval: 50 days
Average time from creation to approval: 84 days
Fastest approval:
	2 hours for "Use HasCallStack and error in GHC.List and .NonEmpty"
2nd fastest approval:
	34 hours for "Remove default method from Bitraversable"
2nd slowest approval:
	395 days for "`base` changes for exception backtrace proposal"
Slowest approval:
	767 days for "Make NonEmpty functions less gratuitously lazy"

Total activity: 6465 comments
Median  activity per proposal:          18 comments
Average activity per proposal:          26 comments
Median  activity per approved proposal: 21 comments
Average activity per approved proposal: 30 comments
Least active approved proposal:
	1 comment for "Export List from GHC.List"
2nd least active approved proposal:
	6 comments for "Make cast between words and floats real primops"
2nd most active:
	171 comments for "Proposal: Remove method (/=) from class Eq"
Most active:
	177 comments for "Add {-# WARNING #-} to Data.List.{head,tail}"

Released in base-4.16: 1
Released in base-4.17: 11
Released in base-4.18: 24
Released in base-4.19: 25
Released in base-4.20: 34
Released in base-4.21: 24
Released in base-4.22: 5

Open proposals: 6
Median  age for open proposals: 99 days
Average age for open proposals: 70 days
Newest open proposal:
	11 days for "Add stripSuffix to Data.List"
Oldest open proposal:
	101 days for "Add a suitable {-# WARNING in "x-partial" ... #-} to Data.List.{init,last}"
5 Likes