
That's pretty much what my tamper library (http://hackage.haskell.org/package/tamper) is supposed to be. It's pretty rough around the edges still, and nowhere near as complete as Blaze itself, but it works well enough for basic HTML templating, and unlike Blaze, it is implemented as a monad transformer, which means you can integrate it with whatever monad stack you like. I couldn't find an existing solution to this myself, which is why I rolled my own. Having TamperT be a monad transformer is useful for things like passing template context around through a ReaderT, or for reading data from a database on-the-fly by having Tamper transform a monad that provides database access. It's not battle-proven production quality code (yet), so handle with care. On Wed, Nov 19, 2014 at 12:19:24PM +0100, Wojtek NarczyĆski wrote:
On 19.11.2014 09:46, oleg@okmij.org wrote:
I'm not sure why do you need Monad specifically? Just because of the syntax. If one could have a drop-in layer over Blaze, one might actually use it, simply by changing the import statements.
-- Thank you, Wojtek Narczynski _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Tobias Dammers - tobias@twokings.nl - 070-3457628 - www.twokings.nl Maandag t/m donderdag van 9.00 tot 17.30 Voor dringende vragen, mail naar support@twokings.nl