[GHC] #13508: Clarify Some Restrictions on Compact Regions

GHC ghc-devs at haskell.org
Sat Apr 1 21:40:20 UTC 2017


#13508: Clarify Some Restrictions on Compact Regions
-------------------------------------+-------------------------------------
           Reporter:  andrewthad     |             Owner:  ezyang
               Type:  bug            |            Status:  new
           Priority:  lowest         |         Milestone:
          Component:                 |           Version:  8.1
  libraries/compact                  |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I've been reading over the docs for using compact regions here: [https
 ://phabricator-files.haskell.org/file/data/uqmgx4accjldseyd34xj/PHID-FILE-
 3sihhhdhl4gaeszvphzb/Compact.hs]. I'm pretty excited about this feature,
 but there's one thing that the docs don't make totally clear. Can
 MutableByteArray# be placed in a compact region? Near the top, the docs
 specifically say that "object[s] with mutable pointer fields" cannot be
 compacted, but that doesn't rule out `MutableByteArray#`. Later down, in
 the docs for `compact`, this restriction is broadened to any mutable data.

 I would like to see the docs clarify this better. The existence of
 `resizeMutableByteArray#` makes me think that it should not possible, but
 I'd like to be sure. Thanks.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13508>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list