When I was last in the USA, I met Alessandro Warth, who now works for
the Viewpoints Research Institute and whose Phd thesis which you can get
on this page: http://www.tinlizzie.org/~awarth/ is about experiments in
computer languages to do the sorts of things that you are interested in.
He had a neat implementation of something he called 'worlds' to show off,
and gave a talk about it.  It's chapter 4 of his thesis.

It was neat, but I got the distinct impression that the price he was
paying for having unlimited cheap undo was that it was going to be
quite difficult when users in different worlds, all of whom 'sprouted'
from a common, but very distant ancestor and who didn't sprout from
each other wanted to share information.  Many other people in the room
had pressing needs for such things now, and some of them were
interested in PyPy.

They concluded that what they would really like is a programming language
which multiple heaps -- in the sense of chunks of memory that you get
when you malloc -- guaranteed to be separate from each other.  I couldn't
tell them how hard this would be to implement in PyPy.  Aside from needing
to write a custom garbage collector, what else would be needed?



Reply via email to