On Wed, Apr 13, 2016 at 2:42 PM, Rustom Mody <rustompmody@gmail.com> wrote:
On Wed, Mar 30, 2016 at 10:06 PM, Joe Hillenbrand <joehillen@gmail.com> wrote:
Parsec isn't as maintained as Megaparsec.

I recommend checking out the tutorials here.

So under the advice to use megaparsec instead of parsec, I tried the examples here: https://mrkkrp.github.io/megaparsec/tutorials/fun-with-the-recovery-feature.html

Got a page full of errors starting:

fpl.hs:42:20: Not in scope: ‘<$>’ …
    Perhaps you meant one of these:

On a hunch I changed
import Control.Applicative (empty)
to
import Control.Applicative

and then it started working.

This specific case is most likely due to different versions of GHC being used. Since 7.10, Prelude exports <$>. To avoid these kinds of problems, I've started including Stack script interpreter lines at the beginning of examples to encode exactly which version of GHC and other packages the example was tested with. In fact, I wrote a blog post about it last week:

http://www.yesodweb.com/blog/2016/04/stackifying-the-cookbook

Michael
 
I can only expect that if megaparsec's own official tutorials are thus out of sync with current haskell, then parsec's will be even more so.


Also I find no megaparsec on hoogle/hayoo

So how does one go about handling the dilemma:
  - megaparsec : in development but undocumented on hayoo/hoohle
  - parsec : documented but bitrotten

What/how do haskell pros go about handling such

Thanks
Rusi

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe