For a year I've been a rookie haskeller ("rookie haskeller" forever, I think). I have coded little haskell programs (eg. a very simple snake game) but package dependencies and ghc failed versions is hard for me when I have to use certain libraries.
Selecting the correct ghc version is an art, I think.
Too new, and libraries fail (eg. yesod was updated to 7.4 recently; grapefruit-ui-gtk currently fails).
Too old, and libraries are obsolete and yet not supported.
HackageDB and its develeopers are fantastic, but I feel clumsy and don't know the correct way to develop a serious program.
What I must do? Am I too inexperienced? Is the hard way the only way?
(Excuse me if question is too general)
Stick to the Haskell Platform.
It exists to standardize a stable release of GHC over each 6 month period, so you don't have to guess which GHC to use.