Hi folks, I just wanna share my story on my first day trying Cabal/Stack.
So I was learning Haskell for half a semester but only live within ghci and runhaskell. But today I was thinking of playing with /write-you-a-haskell/chapter4/untyped so I pulled it down.
I was first trying to follow the README.md which asked me to do cabal run. It failed and gave me errors on the ambiguous usage of <>, I realized cabal is using my global GHC version and it might be some breaking changes there. (since it's Haskell)
I heard stack can solve this problem by having multiple GHC so I changed to looking into that. So I run stack build, see the new GHC being downloaded, but failed. The resolver of the project is 7.8.4 and the problem is ar permission errors on OS X 10.11 El Capitan with GHC 7.8.4 . I tried several workarounds posted in the issue page but none of them works.
After a while, I realized why not just change the GHC version? I changed the resolver to 7.10.2 and as I expected, there is no more ar permission problem but only some dependencies unmatching version errors. I picked one suggestion given by stack that is adding allow-newer: true into the stack.yaml. Not sure if it's really safe but after that it finally built!
I was like super happy and eagerly run the stack exec untyped (since the executable field in untyped.cabal file is untyped). But it complained Executable ... not found
I checked the .stack-work and found the executable has actually built under the dist dir, but the stack is looking for the install/.../bin which does not even exist in my case lol.
Well, I stopped here since I really have no idea what should I do next now. I even tried with resolve 8.2.1 but ended up with the same result.

