Web engines in Haskell
The collapse of browser engine diversity has been very concerning to me as a browser developer. I rely on it to keep the Web cross-platform, and as such I’m pleased to see developers like Chris exploring the feasability of reimplementing a subset of the web platform. My own attempt wasn’t near as successful, possibly because I knew too much about how existing browser engines work.
By doing so not only would developing browsers become easier but so would web pages, and we should have privacy, security, and accessibility benefits. Because with webpages explicitly requesting behaviour from the browser, rather than describing how to achieve it, the browser can exercise more control over those pages on behalf of the user.
And most importantly browsers shouldn’t feel like they need to support everything, they need to embrace native apps to lighten their taskload like Odysseus does.
I would note that Haskell seems like a very good choice for a browser engine. Browsers tend to be very compute heavy and full of parsers and tree processing, which are all areas were functional languages like Haskell shines.