Why do we have `AddrRep`?
In https://github.com/ghc-proposals/ghc-proposals/pull/203#issuecomment-558226958 I made an interesting point: If GC doesn't follow pointers of AddrRep
, then why have it as a separate kind in the first place? Why not just use WordRep
instead?
I think the answer depends on whether we want to conflate addresses with words. Is that a distinction worth making on the platforms we support? Couldn't we define WordRep
to be uintptr_t
?
Maybe the answer is No to all these questions, but then at least we have documented why.