Re: [Haskell-cafe] GSoC Project Proposal: Markdown support for Haddock

2013-04-04 Thread Konstantine Rybnikov
On Thu, Apr 4, 2013 at 11:22 PM, Kim-Ee Yeoh k...@atamo.com wrote:

 On Fri, Apr 5, 2013 at 3:04 AM, Simon Heath icefo...@gmail.com wrote:
  I humbly suggest reStructuredText rather than Markdown, which is what
  is used by the Python community for documentation.  Since it's
 specifically
  made for documentation it may be nicer.  But, I don't want to spark
  a format argument.

 Could you say something about /why/ you make the suggestion? I, for
 one, would be happy to google and read links, but what's missing from
 that experience would be input from a fellow haskeller. In context. In
 real-time. On topic.

 -- Kim-Ee

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



I'd actually like to say that Python has great documentation traditions
not just thanks to adoption of reStructuredText format, but a bit more. The
greatest thing is an adoption of Sphinx [1] documentation engine. In Sphinx
you write in extended (by special extensions) reStructuredText format,
which is able to easily link to function definitions (with
:func:`foo.bar.baz` or :class:`foo.bar.Baz`), other documents (with
:doc:`other/doc`) and (most importantly) has extension called autodoc
which goes and generates documentation for classes and functions
automatically (by gathering it from docstrings and other things, similar to
haddoc, if I'm not mistaken).

My main point is that thanks to adoption of mixed documentation
techinique people usually tend to keep documentation with has these
properties:
- it's up to date
- there's (most of the time) no need to keep separate API and non-API
documentation
- API documentation can be easily be extended with long introduction
without having to write it in source code (you can write it in document and
then include autodoc)

I think Haskell's documentation would greatly benefit from (possible?)
adoption of something like Sphinx, but I don't think it supports Haskell
currently.

[1]: http://sphinx.pocoo.org
___
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


[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 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