As part of my Core Libraries Committee (CLC) involvement, I committed to writing monthly CLC updates, and this is the 4th update.
Previous update:
All CLC work is done by volunteers in their free time.
Featured discussion
CLC and GHC developers agreed to have a discussion in person during ZuriHac 2023 about more efficient ways to collaborate, and how to proceed with the base
split proposal.
ZuriHac is happening right now as I write this update. Unfortunately, I’m unable to attend the event this year, but I hope the outcomes of this discussion will be available publicly later.
Have fun everyone on ZuriHac!
New
List of newly opened proposals since the last update.
- #163: Add finalizer functions for ThreadId
- #164:
base
changes for exception backtrace proposal - #166: Do not use O_NONBLOCK on regular files
- #167: Add foldl’ to Prelude
- #171: Hide GHC.TypeLits.Internal and GHC.TypeNats.Internal
- #172: Extend Data.Bitraversable API with firstA and secondA
Some proposals were reopened:
Approved
List of approved proposals since the last update.
- #126: Add mechanism for handling of WeakPtr finalizer exceptions
- #132: Codebuffer should use unboxed tuples for encoders/decoders
- #158: Make the type of
(&)
analogous to the one of($)
- #160: Derive instance {Enum, Bounded, Num, Real, Integral} Compose f g a
- #165: Add Data.List.unsnoc :: [a] → Maybe ([a], a)
- #170: Add role annotations to SNat, SChar and SSymbol
Declined
List of rejected proposals since the last update.
None
Withdrawn
List of proposals withdrawn voluntarily by their authors.
-
#168: Adding
NonNullPtr
to Foreign.Ptr- A proposal to add a new type-safe API around
Foreign.Ptr
was raised. However, during the discussion, it was discovered that the design space is big and it was advised to experiment with ideas outsidebase
first.
- A proposal to add a new type-safe API around
-
#169: Splitting containers
- A proposal to split
containers
into 8 new libraries was raised by acontainers
maintainer (I remind that authors of core and boot libraries have the opportunity but not the obligation to consult CLC on impactful changes). CLC identified some potential problems with the split and recommended a less drastic approach.
- A proposal to split
Abandoned or Dormant
List of abandoned proposals due to lack of progress from the proposal author.
-
#154: Support for unaligned reads/writes
- The proposal author doesn’t have the capacity for steering the proposal at the moment.
Meta
List of CLC process updates and meta improvements.
After almost a year from the start of the proposal, an unresolvable backward incompatible change in foundation
was discovered.
I recommend reading @Bodigrim’s statement on the subject.
Feel free to share any feedback on these updates! Do you like the format? Do you like the granularity? Anything else