Roadmap to compacting ModIface

Simon Peyton Jones simonpj at
Tue Mar 24 21:27:35 UTC 2020

Thanks for writing this down Matthew.

But I look at #17097 and I am baffled.  Why is that the right list of tasks?  Why do we need FastStrings backed by an unpinned ByteArray? (And similarly for each other bullet.)  What will the API look like if this project is successful?  Why do we want ModIfaces in a compact region?  To reduce residency?  Do we have data showing that this is a real issue in practice. 

I feel as if a wiki page to explain the problem and articulate the proposed solution would make it easier for outsiders to contribute.



|  -----Original Message-----
|  From: ghc-devs <ghc-devs-bounces at> On Behalf Of Matthew
|  Pickering
|  Sent: 24 March 2020 10:58
|  To: GHC developers <ghc-devs at>
|  Subject: Roadmap to compacting ModIface
|  Hello all,
|  I have written down the remaining steps which need to be taken in
|  order to compact a ModIface, which we hope will be useful for
|  applications such as IDEs to reduce GC time.
|  modiface&
|  08d7cfe23972%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6372064428432732
|  44&sdata=YWpD1VEj%2FF4JVrRRi9cdNzlZ%2BQqgfFeRZ40NXC1kI2o%3D&reserv
|  ed=0
|  If there is anyone who wishes to help with this project then please
|  ping me on IRC. So far this is joint work between myself and Daniel G.
|  The first step we need to take is to get 1675 merged which replaces
|  the type backing a FastString from a ByteString to a ShortByteString
|  (and hence from a pinned ByteArray to an unpinned ByteArray).
|  %2Fmerge_requests%2F1675&
|  bf7bb16847bf5bab08d7cfe23972%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C
|  637206442843273244&sdata=N7fLEXXhlSESuye9BiCFQo76UmQ4%2B6GSbegaQcef0Lc
|  %3D&reserved=0
|  Cheers,
|  Matt
|  _______________________________________________
|  ghc-devs mailing list
|  ghc-devs at
|  devs&
|  cfe23972%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637206442843283238&a
|  mp;sdata=a1gBw6q0tuSxuPaByJgR9Jq0Ksk5%2BsP0kzMhaxeVgzs%3D&reserved=0

More information about the ghc-devs mailing list