As part of my CLC involvement, I committed to writing monthly CLC updates, and this is the 2nd update.
Previous update:
All CLC work is done by volunteers in their free time.
Status of all CLC proposals
This month, I started tracking the progress of all approved
CLC proposals. You can find my update here:
I continue tracking all the ongoing progress as well.
New
List of newly opened proposals since the last update.
- https://github.com/haskell/core-libraries-committee/issues/145
- GHC-internal modules in `base` · Issue #146 · haskell/core-libraries-committee · GitHub
- Port ghcjs-base.GHCJS.Foreign.Callback as base.GHC.JS.Foreign.Callback for the GHC JavaScript Backend · Issue #150 · haskell/core-libraries-committee · GitHub
- Expose atomicSwapIORef from a public module · Issue #151 · haskell/core-libraries-committee · GitHub
- Generalize the type of keepAlive#, touch# · Issue #152 · haskell/core-libraries-committee · GitHub
- Support for unaligned reads/writes · Issue #154 · haskell/core-libraries-committee · GitHub
Approved
List of approved proposals since the last update.
-
https://github.com/haskell/core-libraries-committee/issues/86
- API change (breaking, with a deprecation period)
-
https://github.com/haskell/core-libraries-committee/issues/110
- API addition (new function in
Data.List
)
- API addition (new function in
-
https://github.com/haskell/core-libraries-committee/issues/132
- API change (compilation won’t break, runtime may break in a theoretical case but nobody was able to provide a real-world example of this case)
-
Use a non-allocating (or less-allocating) implementation of atomicSwapIORef · Issue #139 · haskell/core-libraries-committee · GitHub
- Performance
-
Update and expand atomic modification Haddocks · Issue #140 · haskell/core-libraries-committee · GitHub
- Documentation
- Normally, you don’t need to create a CLC proposal for documentation changes but the proposal also wanted to change the laziness and there was some uncertainty about the observability of this change
-
Explicitly define `length`, `elem`, etc. in `Foldable` instance for `Data.Functor.Compose` · Issue #57 · haskell/core-libraries-committee · GitHub
- Performance
-
Reject FilePaths containing interior NULs · Issue #144 · haskell/core-libraries-committee · GitHub
- Runtime change (file functions will now throw exceptions on invalid paths)
-
Define `Eq` and `Ord` instances for `SSymbol`, `SChar`, and `SNat` · Issue #148 · haskell/core-libraries-committee · GitHub
- API addition (new instances)
-
Give `COMPLETE` pragmas to `TypeRep`, `SSymbol`, `SChar`, and `SNat` pattern synonyms · Issue #149 · haskell/core-libraries-committee · GitHub
- Annotations
Declined
List of rejected proposals since the last update.
-
Move `ClosureType` from ghc-heap into `GHC.ClosureTypes` · Issue #122 · haskell/core-libraries-committee · GitHub
- 4 out of 7 CLC members voted against for different reasons
Withdrawn
List of proposals withdrawn voluntarily by their authors.
-
Make quotRem and quot for Int more defined · Issue #142 · haskell/core-libraries-committee · GitHub
- The problem looked like a can of worms the author didn’t want to open atm
-
Add atomicModifyIORef_ and atomicModifyIORef'_ to 'Data.IORef' · Issue #101 · haskell/core-libraries-committee · GitHub
- I withdrew my proposal because a different better path forward appeared during the discussion
-
Variants of {new,with}CStringLen which NUL-terminate their output · Issue #153 · haskell/core-libraries-committee · GitHub
- There’s no need to export the proposed functions hence a CLC proposal is not required
Abandoned or Dormant
List of abandoned proposals due to lack of progress from the proposal author.
- https://github.com/haskell/core-libraries-committee/issues/70
- Changing `IO a` to `IOE e a` for type-level checked exceptions in base · Issue #108 · haskell/core-libraries-committee · GitHub
- Deprecate `stToIO` and introduce `safeSTToIO` · Issue #119 · haskell/core-libraries-committee · GitHub
- Add Data instance to System.Exit.ExitCode · Issue #121 · haskell/core-libraries-committee · GitHub
- Specialize Numeric.showHex/Bin for Word types · Issue #124 · haskell/core-libraries-committee · GitHub
- Add HasField instances for tuples to allow tuple-indexing · Issue #143 · haskell/core-libraries-committee · GitHub
Meta
List of CLC processes updates and meta improvements.
-
Write expectations from the proposal author explicitly by chshersh · Pull Request #137 · haskell/core-libraries-committee · GitHub
- My PR to update the documentation of the CLC processes was merged!
-
Subject API evolution of array to CLC vote · Issue #103 · haskell/core-libraries-committee · GitHub
- A vote was triggered on whether
array
should be governed by CLC
- A vote was triggered on whether
Hot discussions
List of proposals under the current focus of CLC.
- Make NonEmpty functions less gratuitously lazy · Issue #107 · haskell/core-libraries-committee · GitHub
- Expose atomicModifyIORef2 from Data.IORef · Issue #138 · haskell/core-libraries-committee · GitHub
- Buy-in for Technical Proposal #47 · Issue #145 · haskell/core-libraries-committee · GitHub
- GHC-internal modules in `base` · Issue #146 · haskell/core-libraries-committee · GitHub
Feel free to share any feedback on these updates! Do you like the format? Do you like the granularity? Anything else