From your description it really sounds like a system based on a functional programming language. Lists of immutable objects operated on by functions that accept a "time t" parameter and lazy evaluation.
I love the idea of a database that can be queried "as of time t". I seem to remember that PostgreSQL used to support that as a neat trick of MVCC (version 4 or 5?) but on larger tables with heavy use the transaction IDs rolled over too quickly.