Comment by kccqzy
11 hours ago
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.
11 hours ago
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.
There was also was WASH[1] way before blaze.
Given the minimal syntactic overhead and the do-syntax overload/Monad type class, Haskell is a great language to do these embedded DSLs in.
[1] http://www2.informatik.uni-freiburg.de/~thiemann/WASH/