Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Most of the troubles with functional programming come when you actually have to do something. The imperative/functional boundary remains a problem.

How does it remain a problem? I've been writing commercial Haskell programs that do something for years now.



(User-visible, generic) monads are absolutely terrible for expressing effects. That so many people have a hard time understanding them fully shows that it's a real problem of the most serious kind (aside from their inherent shortcomings). That just a vanishingly small portion of developers enjoys working with them is not an indication of a lack of a problem, but rather of its presence. That people in PL research are actively trying to find alternatives to monads (and you have people like Martin Odersky publicly saying they don't like monads) is yet another (though less powerful) indication.

That some pure languages like Haskell decided to treat mutation as a side-effect like IO (requiring monads) only exacerbates matters.



"X is a solution to problem Y" doesn't imply that X is a hack. You'll need to be more verbose if you were making a more specific argument.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: