[GHC] #14196: Replace ArrayArray# with either UnliftedArray# or Array#

GHC ghc-devs at haskell.org
Tue Feb 20 19:59:26 UTC 2018


#14196: Replace ArrayArray# with either UnliftedArray# or Array#
-------------------------------------+-------------------------------------
        Reporter:  andrewthad        |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.1
      Resolution:                    |             Keywords:
                                     |  LevityPolymorphism
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by andrewthad):

 If `UnliftedNewtypes`, described in https://github.com/ghc-proposals/ghc-
 proposals/pull/98, is accepted, it will be trivial to reimplement
 `ArrayArray#`, and its related functions:

 {{{
 newtype ArrayArray# = ArrayArray# (UnliftedArray# ByteArray#)
 }}}

 It's not important to use `ByteArray#` here. You could use any unlifted
 type since you're just going to unsafe coerce it when you pull in out or
 put it in. I guess these operators would need to go in `GHC.Exts` or
 something like that, which would probably still break some people's code
 since we all love to import `GHC.Prim` so much, but at least it provides a
 good backwards-compatibility option.

 I'll wait to see if `UnliftedNewtypes` is accepted. If so, I'll write this
 up as a proposal.

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


More information about the ghc-tickets mailing list