Indeed, this is what the `primitive` package provides to thaw a `ByteArray#` without copying:
https://hackage.haskell.org/package/primitive-0.8.0.0/docs/src/Data.Primitive.ByteArray.html#unsafeThawByteArray On Mon, 24 Jul 2023, 20:17 chessai, <[email protected]> wrote: > Hi Adithya, > > The representations are the same. You can do this. I do this somewhat > often. Just avoid mutating in places where it could result in funky stuffs. > This is usually pretty easy to spot. > > Cheers, > chessai > > On Mon, Jul 24, 2023, 12:59 Adithya Kumar <[email protected]> > wrote: > >> Hello all, >> >> I have a use-case where I want to convert `ByteArray#` to >> `MutableByteArray#` >> without the copy overhead. >> >> Is the underlying memory structure of `ByteArray#` and >> `MutableByteArray#` the >> same? >> >> If I can guarantee that I won't mutate my `MutableByteArray#`, can I use >> `unsafeCoerce#` on `ByteArray#` and treat it as `MutableByteArray#`? >> >> Best, >> Adithya >> _______________________________________________ >> ghc-devs mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > _______________________________________________ > ghc-devs mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
