On 31 July 2013 13:15, David Jeske <[email protected]> wrote: > On Tue, Jul 30, 2013 at 4:08 PM, Jonathan S. Shapiro <[email protected]> > wrote: >> >> 1. Typing support for deep immutability. It would be really useful to know >> which subgraphs are deeply immutable and therefore can be accessed >> concurrently without any locking at all. It's even possible to imagine >> schemes in which phase changes are possible in both directions between >> normal and deeply immutable states. This helps a lot in some fork/join style >> concurrency, but it's certainly not a cure-all. > > > I'm intrigued by deep-immutability with easy deep COW semantics, that or > STM. Something that enables the simplicity of immutability for concurrency, > and the ability to have efficient COW snapshots with roll-forward/back (say > for undo). Needs a way to construct cyclic immutable structures though.
For my original intended usage of bitc, I would like to have mechanism to implement this sort of thing, but not much in the way of policy. I would like to, say, have one half of my program be an STG runtime (call it X) with AME and C4, another part be a single-threaded machine with virtual dispatch (Y), and for yet another to have transactional access to durable on-disk btrees and hash-tables (Z). The lack of policy is really to help with tying all of that together - the hand-written GCs follow references from X to Y, for example. Explicit object layout gets you as far as being able to describe the read barriers in X and giving evidence of their safety. Even if I were confident I could type that, I think that bitc may end up 'too practical' for those purposes. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely may reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to deny you those rights would be illegal without prior contractual agreement. _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
