Re: [Haskell-cafe] Parsec community and up-to-date documentation

2013-03-25 Thread Roman Cheplyaka
* Konstantine Rybnikov k...@k-bx.com [2013-03-25 00:19:04+0200]
 Hi!
 
 I've been busy with (trying to) learning/using parsec lately and 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.
 
 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.
 
 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.

A couple of years ago I decided to do pretty much this — create
up-to-date comprehensive documentation for Parsec. Unfortunately, the
project turned out too ambitious for me at the time. The only part of it
that I've finished is published as this SO answer: 
http://stackoverflow.com/a/6040237/110081

Of course, SO answers are not a substitute for good documentation, but
they are a good way to start, and you can later merge those answers into
something more coherent. So this is one way you approach it — just
publish the knowledge you've acquired as self-answered questions on SO.

Roman

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec community and up-to-date documentation

2013-03-25 Thread Konstantine Rybnikov
On Mon, Mar 25, 2013 at 8:49 AM, Roman Cheplyaka r...@ro-che.info wrote:

 * Konstantine Rybnikov k...@k-bx.com [2013-03-25 00:19:04+0200]
  Hi!
 
  I've been busy with (trying to) learning/using parsec lately and 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.
 
  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.
 
  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.

 A couple of years ago I decided to do pretty much this — create
 up-to-date comprehensive documentation for Parsec. Unfortunately, the
 project turned out too ambitious for me at the time. The only part of it
 that I've finished is published as this SO answer:
 http://stackoverflow.com/a/6040237/110081

 Of course, SO answers are not a substitute for good documentation, but
 they are a good way to start, and you can later merge those answers into
 something more coherent. So this is one way you approach it — just
 publish the knowledge you've acquired as self-answered questions on SO.

 Roman


Thanks, Roman. I've totally read this answer some time yesterday (too late,
unfortunately). You also seemed (due to logs) to implement functionality I
needed (lookAhead, if I'm not mistaken). Thanks!

But I just don't understand why such a basic thing as live community-hub
for a project (github page would be enough for this) is so hard to create.
I'm also not saying I would write a lot of docs, but at least making them
more up to date doesn't look as too ambitious task.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec community and up-to-date documentation

2013-03-25 Thread Roman Cheplyaka
* Konstantine Rybnikov k...@k-bx.com [2013-03-25 11:22:21+0200]
 On Mon, Mar 25, 2013 at 8:49 AM, Roman Cheplyaka r...@ro-che.info wrote:
 
  * Konstantine Rybnikov k...@k-bx.com [2013-03-25 00:19:04+0200]
   Hi!
  
   I've been busy with (trying to) learning/using parsec lately and 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.
  
   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.
  
   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.
 
  A couple of years ago I decided to do pretty much this — create
  up-to-date comprehensive documentation for Parsec. Unfortunately, the
  project turned out too ambitious for me at the time. The only part of it
  that I've finished is published as this SO answer:
  http://stackoverflow.com/a/6040237/110081
 
  Of course, SO answers are not a substitute for good documentation, but
  they are a good way to start, and you can later merge those answers into
  something more coherent. So this is one way you approach it — just
  publish the knowledge you've acquired as self-answered questions on SO.
 
  Roman
 
 
 Thanks, Roman. I've totally read this answer some time yesterday (too late,
 unfortunately). You also seemed (due to logs) to implement functionality I
 needed (lookAhead, if I'm not mistaken). Thanks!
 
 But I just don't understand why such a basic thing as live community-hub
 for a project (github page would be enough for this) is so hard to create.
 I'm also not saying I would write a lot of docs, but at least making them
 more up to date doesn't look as too ambitious task.

It's not hard to create — it's hard to get traction.

Anyway, don't be discouraged by my experience. Go for it!

I put back my original repo at https://github.com/feuerbach/parsec-doc —
feel free to use it. In particular, it contains an interesting analysis
of parsec usage by Dmitry Astapov.

Roman

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Parsec community and up-to-date documentation

2013-03-24 Thread Konstantine Rybnikov
Hi!

I've been busy with (trying to) learning/using parsec lately and 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.

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.

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.

Thank you.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec community and up-to-date documentation

2013-03-24 Thread Kim-Ee Yeoh
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.

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

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec community and up-to-date documentation

2013-03-24 Thread Konstantine Rybnikov
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