I am now struggling with Haskell. Even, I have some experience with imperative languages, with OOP, but Haskell seems to be different from them. I under-evaluated Haskell, and think learning a new language is not a problem with me. However, after spending a whole week with many new concepts (typeclass, functors, applicative, monoids, monads... reading all 14 chapters from this learnyouahaskell), I noticed that they make me so confused, don't know how to start writing a programme with Haskell. Some experts say that it take you a few months to master Haskell. But I have only two weeks to finish a big project.
1) So my first question is how to learn Haskell
2) When I need to use applicative functors, and when I need to use monads?
3) My project is to handle with directed graph based on many presentations:
- adjacency matrix
- binary search tree
I am quite a Haskell newbie, so don't know where I can start with directed graph in Haskell? Do you have any suggestion?