Text and changing number primops in GHC 9.2

John Ericson john.ericson at obsidian.systems
Wed Feb 17 17:34:43 UTC 2021


Hi all,

First, background. I have a PR 
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4492 
<https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4492> that is one 
of the moving pieces for 
https://gitlab.haskell.org/ghc/ghc/-/issues/19026 
<https://gitlab.haskell.org/ghc/ghc/-/issues/19026>, which is slated for 
9.2 according to Ben's email 
https://mail.haskell.org/pipermail/ghc-devs/2021-February/019478.html 
<https://mail.haskell.org/pipermail/ghc-devs/2021-February/019478.html>. 
(I just added the milestone to the issue to reflect this.)

Despite this being a breaking change (to unstable interfaces) 
containers, bytestring, and binary could all updated in a way that 
didn't used CPP. (See the linked PRs in the GHC !4492's description). 
Text is a different case, because the unboxed computation there is more 
pervasive. The current PR is https://github.com/haskell/text/pull/305 
<https://github.com/haskell/text/pull/305>, and uses CPP for 9.2. We 
have a few different options:

  * Keep as is. There will surely be no perf regressions this way on any
    of the supported compilers. This does however mean adding CPP for
    9.2 before the associated GHC change lands in master. I think that's
    fine---inevitable even based on the current policy for how GHC
    submodules are bumped---but it's given many library maintainers the
    heebie jeebies.
  * Try the same tricks in the other PRs of using hyper-local unboxing
    that is easy to unbox away. This will be a bit ugly however than the
    other cases, and I am not sure whether it won't be a regression for
    the oldest supported GHCs.
  * Do the above, but bump the base version to the point where there are
    no perf regressions with the oldest supported GHCs (because those
    compilers are no longer supported). If we bump the version more
    aggressively, perhaps we can get rid of much of the unboxing
    altogether / otherwise get rid of the ugliness.

We'll need to reach some sort of decision here to move forward.

I'll also add that while Oleg Grenrus has helped merge a preparatory PR, 
Oleg expressed a /dis/interest in being de facto text maintainer, so I 
am emailing the list in part so this does not fall upon Oleg alone any 
longer.

John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20210217/87325363/attachment.html>


More information about the Libraries mailing list