Hi,

I am still getting a hang of Haskell.  Sorry if the answer is obvious.

What sorts of packages and approaches should I be looking at if I was looking to store something like an Undo stack into a database.

Each table would refer to a function. 
Each records input and outputs would specify both a table ID and record ID.  
The records would also have a data and a Process ID to associate all functions to a specific process and give them an order.

No records are ever deleted.  Rolling something back is instead a process of recreating a new, modified graph by taking the old graph from the database.

I should note that while I can generate some of the boiler parts from template haskell in advance I'm ultimately using a stage 1 compiler with no GHCI o template haskell.

Thanks,
Casey

--
Casey James Basichis
Composer - Cartoon Network
http://www.caseyjamesbasichis.com
caseybasichis@gmail.com
310.387.7540