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

Are most of those names for simple concepts / design patterns / types?

I'm finding more and more that the hardest part of haskell is understanding the syntax and the terminology.



A lot of stuff is quite easy, after reading http://learnyouahaskell.com/ - but there is a tendency in the Haskell community, perhaps not in the core but at the fringes to look more elite, and with a lot of hand waving to make simple things (Monads come to mind) something complex sounding.

Take the IO Monad. Everyone who wrote some web/servlet code, that needs to output stuff to the web over several classes (might not be the best design in the beginning) uses a Writer (or other class) to aggregate output. He therefore, as global vars are bad (and thread local are worse ;-) adds a Writer to every method.

public T doSomeStuff(T input, Writer io)

This is nasty and ugly, and the IO monad is in essence just another way to write this in a neat form, make it composable and control the IO environment.

public IO<T> doSomeStuff(IO<T> input)

But you would not get this insight from any of the monad tutorials written by Haskell people (except the link above). Simple monad insight comes form other people outside the Haskell community, e.g. James Iry

http://james-iry.blogspot.com/2007/09/monads-are-elephants-p...




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

Search: