Hacker News new | past | comments | ask | show | jobs | submit
There are at least two generations of libraries doing that in Haskell. There was blaze-html and then lucid afterwards to fix some monad laws.