On Mon, Mar 25, 2013 at 1:11 AM, Kim-Ee Yeoh <k...@atamo.com> wrote: On Mon, Mar 25, 2013 at 5:19 AM, Konstantine Rybnikov <k...@k-bx.com> wrote: > > as a beginner had a lot of headache starting from outdated documentation > in > > various places, lack of more tutorials, confusion between Text.Parsec and > > Text.ParseCombinator modules and so on. > > You're indeed right. > > > While I solved most of my problems via googling / reading stackoverflow / > > reading source code (of outdated version first, btw, the one I got from > > Daan's homepage :), I still had a feeling all the time that I'm doing > > something wrong and that I can't find place where "party is going on". > > If you look at the dates of the papers on Wikipedia [1], the party was > totally hoppin' in the last decade of the previous century. Not so > much since. Sigh. > > > So I wondered, what can I do to create a community around Parsec, to get > > issue tracking, pull-requests, up-to-date comprehensive documentation and > > tutorials etc.? Parsec seems like a perfect candidate for something like > > this. > > While the experience is still fresh in your mind, may I suggest that > you write a note or two on the most confusing things you encountered > and how you dealt with them? Making your notes public is a way of > gathering a community around shared experiences. >
These things are mostly small ones. The main issue is outdated tutorial [3] page. From what I can remember now: 1. my confusion definitely began with export-confusion (explaining about Parsec3 / Parsec2, Text.Parsec and Text.ParseCombinator modules) in various places (realworldhaskell book [1], parsec's homepage [2]) 2. also, while [2] looks like a homepage for parsec, it's also quite old and points to old version of sources, for example. 2. new parsec3 API (and examples with monad-transformer, parsing of Text) should be added to [3]. The thing I was looking for (and began implementing just before I noticed my parsec is too old and new one has what I need) was also from new API, it was anyToken function. So I was able now to write: skipWhileNot p = do { try (lookAhead p) } <|> do { anyToken; skipWhileNot p } combinator that would let me skip pieces of information I can't parse. 3. add type declarations and explanation into [3] 4. documentation [3] should be split into multiple pages with better navigation 5. not a concrete suggestion, but just adding more examples would be great I'm sure there were plenty concrete suggestions / small improvements that I already forgot. I absolutely agree that it's better to write notes when memories are fresh, that's why I think having issue tracking and ability to do small pull-requests would really help. Also, the denizens of the haskell IRC at freenode will gladly converse > with you about parsec. The same goes for subscribers to this list and > also haskell-beginners. > > [1] http://en.wikipedia.org/wiki/Parser_combinator > > -- Kim-Ee > It's great that haskell community is such welcome for beginners, thanks. [1] http://book.realworldhaskell.org/read/using-parsec.html [2] http://legacy.cs.uu.nl/daan/parsec.html [3] http://legacy.cs.uu.nl/daan/download/parsec/parsec.html
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe