Re: Array heap objects

2020-10-08 Thread David Feuer
No, I don't think that gets me all the way to what I want, although it might be a reasonable approach to one *part* of it. The main idea I'm after is efficient representations of things like HashMap, where nodes in a tree have variable numbers of children. First, let's look at how HashMap is

Re: Array heap objects

2020-10-08 Thread Ben Gamari
David Feuer writes: > Ah, too bad about reuse. What do you mean about walking over both pointers > and non-pointers? The extra word (for pointers-first layout) or few words > (for bitmapped) will be more than made up for in most cases by not needing > extra heap objects between a node and its

Re: Array heap objects

2020-10-08 Thread David Feuer
Ah, too bad about reuse. What do you mean about walking over both pointers and non-pointers? The extra word (for pointers-first layout) or few words (for bitmapped) will be more than made up for in most cases by not needing extra heap objects between a node and its children. Simon has explained

Re: Array heap objects

2020-10-08 Thread Ben Gamari
On October 7, 2020 2:02:53 PM EDT, David Feuer wrote: >Yes, the bitmap structures used to encode the structure of stack >frames. These *look* like they might be reusable for mix-and-match >arrays in Haskell-land. If so, that could be a pretty cheap new >feature. Ahh, yes. In principle we could

Re: Array heap objects

2020-10-07 Thread David Feuer
Yes, the bitmap structures used to encode the structure of stack frames. These *look* like they might be reusable for mix-and-match arrays in Haskell-land. If so, that could be a pretty cheap new feature. On Wed, Oct 7, 2020 at 1:37 PM Ben Gamari wrote: > > David Feuer writes: > > > It appears

Re: Array heap objects

2020-10-07 Thread Ben Gamari
David Feuer writes: > It appears that the RTS has more flexibility in its array representations > than users can access through primops. In particular, there are > "pointers-first" and "bitmapped" arrays. Are these used for the evaluation > stack or something? I'd be very interested in getting

Array heap objects

2020-10-07 Thread David Feuer
It appears that the RTS has more flexibility in its array representations than users can access through primops. In particular, there are "pointers-first" and "bitmapped" arrays. Are these used for the evaluation stack or something? I'd be very interested in getting user access to some of this