
25 Dec
2009
25 Dec
'09
10:06 p.m.
AFAIK, one of HAppS modules does a similar transformation via Template Haskell. The functions specify transactions, and each transaction is converted to a serializable data type. Then it's possible to create a transaction log by serializing them before their execution.
The happstack transaction serialization doesn't support higher-order types. Whether or not that's too much of a restriction depends on what you want your parsers to look like.
Higher-order like "data A m a = A (m a)"?