Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-30 Thread Malcolm Wallace

 The problem isn't social pressure to be stable, it's the ambiguity of what 
 stable means. If Hackage 2 institutes a policy whereby things claiming to 
 be stable are treated better, then stable is likely to become the new 
 experimental.

I'd say, rather than rely on social agreement on what terms mean, let's just 
collect lots of automated metrics, and present them as extra information on the 
hackage pages.  At work, we have all modules scored by hlint metrics, and 
doclint metrics.  (Doclint complains about modules without a module header 
comment, and type signatures without haddock comments.)  We count infractions 
and have a top ten hall-of-shame, as well as placing the scores in the module 
documentation itself.  We also have a fingerprint for every release 
(basically the API type signatures), and the size of fingerprint-diffs between 
releases is a rough measure of API-churn.

Some of these measures are designed to place social pressure on authors to 
improve their code/documentation, but they have a dual role in allowing users 
to get a feel for the quality of the code they are using, without imposing any 
external hierarchy on which metrics are more important in any given situation.

Regards,
Malcolm

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-29 Thread wren ng thornton

On 10/25/11 3:54 AM, Gregory Collins wrote:

On Tue, Oct 25, 2011 at 4:34 AM, wren ng thorntonw...@freegeek.org  wrote:

I'm not so sure about that exemption. The experimental stability level
seems to be the norm on Hackage and often means I use this for real
projects, but because I use it for real projects I'm not quite willing to
hammer the API in stone just yet.

...

Before dealing with automatic documentation requirements, perhaps it'd be
better to develop a standard consensus on the terms used in the stability
field and actively advocating for people to adopt it, as was done with the
PVP.


I think there's no need to cajole people into it -- if Hackage 2 puts
stable packages on a different / better list, there's your social
pressure. Right now the stability flag in the .cabal file, as you
pointed out, is almost completely content-free.


The problem isn't social pressure to be stable, it's the ambiguity of 
what stable means. If Hackage 2 institutes a policy whereby things 
claiming to be stable are treated better, then stable is likely to 
become the new experimental. Just because I call something stable 
doesn't mean that it is. Just because I give something enough 
documentation so appease the bots so that I'm allowed to call it stable 
doesn't mean that it is. Frankly, giving a one-line synopsis of what a 
function does isn't a high enough barrier to entry to keep someone from 
abusing the system in order to self-select which index page they get put on.


The only way to get a consensus about what stable, experimental, etc 
mean is ...to get a consensus about what they mean. It's exactly the 
same thing as the PVP: in order to get people to agree about what 
version increments mean, we need to get them to agree to mean whatever 
it is everybody else thinks they mean. Automating the verification of 
that agreement is a nice tool to have to hand, but it's meaningless 
without the agreement about what we're all engaged in.


--
Live well,
~wren

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Gregory Collins
On Tue, Oct 25, 2011 at 4:34 AM, wren ng thornton w...@freegeek.org wrote:
 I'm not so sure about that exemption. The experimental stability level
 seems to be the norm on Hackage and often means I use this for real
 projects, but because I use it for real projects I'm not quite willing to
 hammer the API in stone just yet.

 ...

 Before dealing with automatic documentation requirements, perhaps it'd be
 better to develop a standard consensus on the terms used in the stability
 field and actively advocating for people to adopt it, as was done with the
 PVP.

I think there's no need to cajole people into it -- if Hackage 2 puts
stable packages on a different / better list, there's your social
pressure. Right now the stability flag in the .cabal file, as you
pointed out, is almost completely content-free.

G
-- 
Gregory Collins g...@gregorycollins.net

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Ivan Lazar Miljenovic
On 25 October 2011 18:54, Gregory Collins g...@gregorycollins.net wrote:
 On Tue, Oct 25, 2011 at 4:34 AM, wren ng thornton w...@freegeek.org wrote:
 I'm not so sure about that exemption. The experimental stability level
 seems to be the norm on Hackage and often means I use this for real
 projects, but because I use it for real projects I'm not quite willing to
 hammer the API in stone just yet.

 ...

 Before dealing with automatic documentation requirements, perhaps it'd be
 better to develop a standard consensus on the terms used in the stability
 field and actively advocating for people to adopt it, as was done with the
 PVP.

 I think there's no need to cajole people into it -- if Hackage 2 puts
 stable packages on a different / better list, there's your social
 pressure. Right now the stability flag in the .cabal file, as you
 pointed out, is almost completely content-free.

Right, but first we need to define what all those terms _mean_... and
it's no good saying your package is stable if you change the API in
a large-scale fashion every release.

Also, by promoting packages that are self-picked as stable, this could
stop people from picking a better package just because the maintainer
is honest enough to state that they're still working on it... I mean,
if base and containers keep changing, what can we _really_ say is a
stable package?

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Ketil Malde
Ivan Lazar Miljenovic ivan.miljeno...@gmail.com writes:

 Right, but first we need to define what all those terms _mean_... and
 it's no good saying your package is stable if you change the API in
 a large-scale fashion every release.

I think there are better criteria to use, like:

- do exported definition have Haddock comments?
- does the package have an automated test suite?
- is the package used by other packages?
- ...by different authors?
- has the package been recently updated?

I'm sure there are other things as well that could be added.  If this
could be automatically checked, and displayed alongside the package name
on Hackage (perhaps as adding one star per checklist item), it would
encourage authors to actually improve their packages, rather than just
label them stable.

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Max Rabkin
On Tue, Oct 25, 2011 at 11:17, Ketil Malde ke...@malde.org wrote:
 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com writes:

 Right, but first we need to define what all those terms _mean_... and
 it's no good saying your package is stable if you change the API in
 a large-scale fashion every release.

 I think there are better criteria to use, like:

 - do exported definition have Haddock comments?
 - does the package have an automated test suite?
 - is the package used by other packages?
 - ...by different authors?
 - has the package been recently updated?

This is useful information, but to call it stability is not only
misleading, but it also prevents the package from using that field to
indicate whether or not it is stable!

--Max

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Ivan Lazar Miljenovic
On 25 October 2011 20:17, Ketil Malde ke...@malde.org wrote:
 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com writes:

 Right, but first we need to define what all those terms _mean_... and
 it's no good saying your package is stable if you change the API in
 a large-scale fashion every release.

 I think there are better criteria to use, like:

 - do exported definition have Haddock comments?
 - does the package have an automated test suite?

What about a test suite that either isn't packaged with the .cabal
file or doesn't use Cabal's new test-suite architecture?  Does the
fact that it _has_ a test suite tell you it's rigorous?

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Evan Laforge
On Tue, Oct 25, 2011 at 2:17 AM, Ketil Malde ke...@malde.org wrote:
 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com writes:

 Right, but first we need to define what all those terms _mean_... and
 it's no good saying your package is stable if you change the API in
 a large-scale fashion every release.

 I think there are better criteria to use, like:

 - do exported definition have Haddock comments?
 - does the package have an automated test suite?
 - is the package used by other packages?
 - ...by different authors?

These signals might not apply if the package is primarily a binary.

 - has the package been recently updated?

This one is also tricky.  A stable package is a good thing!  On the
other hand, a package that is broken by a new version of ghc and then
takes months to be updated is not so great.  What matters is
maintainer responsiveness and that's not so easily measurable.

I feel like use-derived signals are safer.  E.g. number of downloads,
user ratings, user reviews, depending packages.  But that stuff
obviously goes in a separate section, not a .cabal field.  With
ratings or reviews it's tricky because you want to make sure they
apply to specific versions, so obsolete complaints about a fixed bug
don't hang around forever.

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-25 Thread Ketil Malde
Max Rabkin max.rab...@gmail.com writes:

 This is useful information, but to call it stability is not only
 misleading, but it also prevents the package from using that field to
 indicate whether or not it is stable!

Oh, right - I'm not much interested in the stability of a package.  What
I want to know, is which package to choose for some purpose.  By
highlighting stuff that is correlated with usefulness, I'll be able to
make a quicker, more informed decision.

Separating this from stability is a feature, not a bug, since it frees
the author to label the package stable or not - instead of encouraging
using stable to mean please use. :-)

-k
--  
If I haven't seen further, it is by standing in the footprints of giants

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread Antti-Juhani Kaijanaho
On Mon, Oct 10, 2011 at 09:06:01AM +0100, Paterson, Ross wrote:
 The distinction between synopsis and description is borrowed from the
 Debian package format:
 
 http://www.debian.org/doc/debian-policy/ch-binary.html#s-descriptions
 
 The two fields are aimed at different audiences.

Not in Debian.  The synopsis and description are a bit like the title and the
abstract of a scholarly paper: you might see a title without the abstract (and
it must work alone), but both are aimed at the same audience - people who are
unsure whether they should read the paper (install the package) and look for
information sufficient to decide that it's not what they need (or that it
probably is).

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread Ryan Newton

 Good point. On the other hand, nobody points package authors to the
 Debian documentation (and Debian also has review for newly uploaded
 packages, as far as I know).


Re: review process -- Perhaps there would be a use for a review process
somewhere between haskell-platform and the unwashed masses?

HP covers a very small percentage of packages, but a larger percentage could
probably pass some kind of review akin to the debian process.  And it would
be a good forcing function to get people to do the things they don't get
around to

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread Gregory Collins
On Mon, Oct 24, 2011 at 12:55 PM, Ryan Newton rrnew...@gmail.com wrote:
 Good point. On the other hand, nobody points package authors to the
 Debian documentation (and Debian also has review for newly uploaded
 packages, as far as I know).

 Re: review process -- Perhaps there would be a use for a review process
 somewhere between haskell-platform and the unwashed masses?
 HP covers a very small percentage of packages, but a larger percentage could
 probably pass some kind of review akin to the debian process.  And it would
 be a good forcing function to get people to do the things they don't get
 around to

I'm skeptical. We seem to have trouble getting enough of people's
spare time to tackle interesting engineer work, let alone relatively
thankless administrative/bureaucratic/procedural work. If people are
going to devote time towards solving this particular problem (poorly
documented libraries), an interesting first step would be to try
solving the problem using technological means, i.e.: prohibit or
otherwise discourage uploads to hackage that fail
automatically-verifiable criteria here.

Examples could include: Your package lacks a description, more than
X% of your modules lack toplevel module comments, fewer than Y% of
your toplevel exports have haddock comments, etc... Packages with
stability=experimental would probably be exempt from the requirements.
Duncan could probably comment authoritatively, but I'm guessing
Hackage 2 might provide a better framework for tackling these kinds of
policy issues, because it would probably allow you to e.g. filter the
package list by stability.

G
-- 
Gregory Collins g...@gregorycollins.net

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread wren ng thornton

On 10/24/11 12:34 PM, Gregory Collins wrote:

Examples could include: Your package lacks a description, more than
X% of your modules lack toplevel module comments, fewer than Y% of
your toplevel exports have haddock comments, etc... Packages with
stability=experimental would probably be exempt from the requirements.


I'm not so sure about that exemption. The experimental stability level 
seems to be the norm on Hackage and often means I use this for real 
projects, but because I use it for real projects I'm not quite willing 
to hammer the API in stone just yet. Surely we should distinguish this 
level of stability from no seriously I'm just goofing around with 
category theory, but unfortunately both classes of project are called 
experimental. While the latter may deserve a pass (to encourage 
goofing around with category theory :), the lack of documentation for 
the former seems to me like the main motivation for instituting such an 
automatic system in the first place.


Before dealing with automatic documentation requirements, perhaps it'd 
be better to develop a standard consensus on the terms used in the 
stability field and actively advocating for people to adopt it, as was 
done with the PVP.


--
Live well,
~wren

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread Ivan Lazar Miljenovic
On 25 October 2011 13:34, wren ng thornton w...@freegeek.org wrote:
 Before dealing with automatic documentation requirements, perhaps it'd be
 better to develop a standard consensus on the terms used in the stability
 field and actively advocating for people to adopt it, as was done with the
 PVP.

+1, not to mention all the to-level fields available in Haddock
(portable, etc.) as well.

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-10 Thread Max Rabkin
On Mon, Oct 10, 2011 at 03:17, John Millikin jmilli...@gmail.com wrote:
 The package summary is Type-safe ADT-database mapping library., which
 gives some idea about what it does.

Whence my suggestion to show this on the package's page. Perhaps I
shouldn't have hidden that at the bottom -- I meant this as my main
point, and I'm afraid I got a little side-tracked.

 In my experience, any package that starts its source files with

 {-# LANGUAGE GADTs, TypeFamilies, ExistentialQuantification,
 StandaloneDeriving, TypeSynonymInstances, MultiParamTypeClasses,
 FunctionalDependencies, FlexibleInstances, FlexibleContexts,
 OverlappingInstances, ScopedTypeVariables, GeneralizedNewtypeDeriving,
 UndecidableInstances, EmptyDataDecls #-}

 is probably an experiment in what is possible, rather than a
 production-friendly library.

An experiment that I was interested in, and hoped to find out more
about. But anyway, I see your point.

 Many people upload experimental packages to Hackage so that they can be used
 by other interested people, even though the packages are not ready/intended
 for mass consumption. A lack of documentation in such cases is
 understandable.

Some way of documenting this fact would, however, be helpful.

 I wonder if it would be worth giving package uploaders control over whether
 their packages are shown on the package list? Packages can be manually
 hidden by emailing an admin, but that's a lot of trouble.

In this case I followed an external link, so that would not have
helped me. There is the stability field, which has an experimental
value, but it's not at all clear what the different values mean other
than stable.

It is fair that some packages on Hackage are not intended for human
consumption. Perhaps this is caused in part by having our package
installer and humans looking in the same place for information about
Haskell libraries. But I think we can do a better job of
distinguishing these packages. Perhaps a visibility or
release-status field?

--Max

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-10 Thread Paterson, Ross
Max Rabkin writes:
 But I also have a concrete suggestion for Hackage: include the package
 synopsis on the package's page. The distinction between synopsis and
 description can be confusing, and sometimes it seems to violate DRY to
 have the same info in both.

You may have missed the header on the package page (dark line at the top).

The distinction between synopsis and description is borrowed from the
Debian package format:

http://www.debian.org/doc/debian-policy/ch-binary.html#s-descriptions

The two fields are aimed at different audiences.  A Synopsis trying to
do double duty as the beginning of a general package description won't
work as well as a stand-alone summary for package lists, etc.

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-10 Thread Max Rabkin
On Mon, Oct 10, 2011 at 10:06, Paterson, Ross r.pater...@city.ac.uk wrote:
 Max Rabkin writes:
 But I also have a concrete suggestion for Hackage: include the package
 synopsis on the package's page. The distinction between synopsis and
 description can be confusing, and sometimes it seems to violate DRY to
 have the same info in both.

 You may have missed the header on the package page (dark line at the top).

I did indeed. Perhaps it should be bigger? I've just opened up
Synaptic, and it is indeed separate from the description, but there
the synopsis is used as a heading for the description, and it's the
biggest thing on the screen (whereas Hackage uses package name).

 The distinction between synopsis and description is borrowed from the
 Debian package format:

 http://www.debian.org/doc/debian-policy/ch-binary.html#s-descriptions

 The two fields are aimed at different audiences.  A Synopsis trying to
 do double duty as the beginning of a general package description won't
 work as well as a stand-alone summary for package lists, etc.

Good point. On the other hand, nobody points package authors to the
Debian documentation (and Debian also has review for newly uploaded
packages, as far as I know).

--Max

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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-09 Thread John Millikin
The package summary is Type-safe ADT-database mapping library., which 
gives some idea about what it does.

In my experience, any package that starts its source files with

{-# LANGUAGE GADTs, TypeFamilies, ExistentialQuantification, 
StandaloneDeriving, TypeSynonymInstances, MultiParamTypeClasses, 
FunctionalDependencies, FlexibleInstances, FlexibleContexts, 
OverlappingInstances, ScopedTypeVariables, GeneralizedNewtypeDeriving, 
UndecidableInstances, EmptyDataDecls #-}


is probably an experiment in what is possible, rather than a 
production-friendly library.

Many people upload experimental packages to Hackage so that they can be used 
by other interested people, even though the packages are not ready/intended 
for mass consumption. A lack of documentation in such cases is 
understandable.

I wonder if it would be worth giving package uploaders control over whether 
their packages are shown on the package list? Packages can be manually 
hidden by emailing an admin, but that's a lot of trouble.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] YesodAuth documentation

2011-06-14 Thread cheater cheater
I am surprised out of the whole list no one has stormed down on Nikita
for wanting to store passwords as plain text.

Nikita: never store passwords in plain text. Ever.

D.

On Mon, Jun 13, 2011 at 09:34, Никита Тимофеев ndtimof...@gmail.com wrote:
 Does exist some simple examples using yesod authentication except code of
 Haskellers site? Does exist some examples using YesodAuthEmail?

 For example, can i use third-party mail server instead of Sendmail for
 YesodAuthEmail? Can i disable registration confirmation? Does passwords
 stored in a database in an unencrypted form?

 --
 Timofeev N.D.

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



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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-14 Thread Kevin Jardine
When I review the original post I see only a question:

Does passwords
stored in a database in an unencrypted form?

rather than a request.

So I'm not sure that was the intent.

I'm amazed that anyone (Sony!!!?) would store unencrypted passwords of
course.

Kevin

On Jun 14, 10:21 am, cheater cheater cheate...@gmail.com wrote:
 I am surprised out of the whole list no one has stormed down on Nikita
 for wanting to store passwords as plain text.

 Nikita: never store passwords in plain text. Ever.

 D.



 On Mon, Jun 13, 2011 at 09:34, Никита Тимофеев ndtimof...@gmail.com wrote:
  Does exist some simple examples using yesod authentication except code of
  Haskellers site? Does exist some examples using YesodAuthEmail?

  For example, can i use third-party mail server instead of Sendmail for
  YesodAuthEmail? Can i disable registration confirmation? Does passwords
  stored in a database in an unencrypted form?

  --
  Timofeev N.D.

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

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

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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-14 Thread Michael Snoyman
2011/6/14 Michael Steele mikesteel...@gmail.com:
Actually, that's not entirely accurate. The Yesod scaffolding tool
generates a site that uses mime-mail and sendmail, but there's nothing
inherent in yesod-auth requiring either.
 My apologies for adding to the confusion. I see now that
 Yesod.Auth.Email handles database interactions, generates
 verify URLs for new accounts to use, and provides forms to
 embed in HTML. It doesn't actually create email messages or
 handle any kind of email delivery.
 I saw the mime-mail dependency, and then forgot
 where I had seen Network.Mail.Mime.renderSendMail actually
 being called.
 The stock email plugin does not let you disable these features, but it
 should be easy to write your own.

You could just copy the email module from yesod-auth and make the
modifications there. Or even better if you're so inclined: submit a
patch to make these features optional. If you are so inclined, feel
free to contact me for some guidance.

 My understanding is that none of the plugins included in
 yesod-auth are magic in any way. New ones can be created
 outside of the official package as long as their associated
 AuthPlugin has a Text value unique among any others being
 used. Is this all correct?

Yes, that's completely accurate.

Michael

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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-14 Thread cheater cheater
Ah, I see how you could interpret what he wrote the way you describe.
If that's what Nikita has meant, then that's all fine. Hope there's no
harm in reminding this basic truth - better be safe than sorry! :)

D.

On Tue, Jun 14, 2011 at 15:00, Kevin Jardine kevinjard...@gmail.com wrote:
 When I review the original post I see only a question:

 Does passwords
 stored in a database in an unencrypted form?

 rather than a request.

 So I'm not sure that was the intent.

 I'm amazed that anyone (Sony!!!?) would store unencrypted passwords of
 course.

 Kevin

 On Jun 14, 10:21 am, cheater cheater cheate...@gmail.com wrote:
 I am surprised out of the whole list no one has stormed down on Nikita
 for wanting to store passwords as plain text.

 Nikita: never store passwords in plain text. Ever.

 D.



 On Mon, Jun 13, 2011 at 09:34, Никита Тимофеев ndtimof...@gmail.com wrote:
  Does exist some simple examples using yesod authentication except code of
  Haskellers site? Does exist some examples using YesodAuthEmail?

  For example, can i use third-party mail server instead of Sendmail for
  YesodAuthEmail? Can i disable registration confirmation? Does passwords
  stored in a database in an unencrypted form?

  --
  Timofeev N.D.

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

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

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


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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-13 Thread Michael Steele
Does exist some simple examples using yesod authentication except code of
Haskellers site? Does exist some examples using YesodAuthEmail?

Another example is Orangeroster [1].

For example, can i use  third-party mail server instead of Sendmail for
YesodAuthEmail?

No. Email handling is done through the mime-mail package, which uses
sendmail to do it's work.

Can i disable registration confirmation? Does passwords stored in a
database in an unencrypted form?

The stock email plugin does not let you disable these features, but it
should be easy to write your own.

[1] : http://github.com/snoyberg/orangeroster
2011/6/13 Тимофеев Никита Дмитриевич ndtimof...@gmail.com

 Does exist some simple examples using yesod authentication except code
 of Haskellers site? Does exist some examples using YesodAuthEmail?

 For example, can i use third-party mail server instead of Sendmail for
 YesodAuthEmail? Can i disable registration confirmation? Does passwords
 stored in a database in an unencrypted form?

 --
 Timofeev N.D.

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




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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-13 Thread Michael Snoyman
2011/6/13 Michael Steele mikesteel...@gmail.com:
Does exist some simple examples using yesod authentication except code of
 Haskellers site? Does exist some examples using YesodAuthEmail?

 Another example is Orangeroster [1].

For example, can i use  third-party mail server instead of Sendmail for
 YesodAuthEmail?

 No. Email handling is done through the mime-mail package, which uses
 sendmail to do it's work.

Actually, that's not entirely accurate. The Yesod scaffolding tool
generates a site that uses mime-mail and sendmail, but there's nothing
inherent in yesod-auth requiring either. Additionally, mime-mail
includes a function to use the sendmail executable, but it can also be
used with other packages, such as Haskellnet. I think we should move
in the direction of making these integrations better. In fact, next
time I need to set up a project that sends email, I'll likely be doing
just that.

Can i disable registration confirmation? Does passwords stored in a
 database in an unencrypted form?

 The stock email plugin does not let you disable these features, but it
 should be easy to write your own.

You could just copy the email module from yesod-auth and make the
modifications there. Or even better if you're so inclined: submit a
patch to make these features optional. If you are so inclined, feel
free to contact me for some guidance.

Michael


 [1] : http://github.com/snoyberg/orangeroster
 2011/6/13 Тимофеев Никита Дмитриевич ndtimof...@gmail.com

 Does exist some simple examples using yesod authentication except code
 of Haskellers site? Does exist some examples using YesodAuthEmail?

 For example, can i use third-party mail server instead of Sendmail for
 YesodAuthEmail? Can i disable registration confirmation? Does passwords
 stored in a database in an unencrypted form?

 --
 Timofeev N.D.

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



 --
 -- Michael Steele

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



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


Re: [Haskell-cafe] YesodAuth documentation

2011-06-13 Thread Michael Steele
Actually, that's not entirely accurate. The Yesod scaffolding tool
generates a site that uses mime-mail and sendmail, but there's nothing
inherent in yesod-auth requiring either.

My apologies for adding to the confusion. I see now that
Yesod.Auth.Email handles database interactions, generates
verify URLs for new accounts to use, and provides forms to
embed in HTML. It doesn't actually create email messages or
handle any kind of email delivery.

I saw the mime-mail dependency, and then forgot
where I had seen Network.Mail.Mime.renderSendMail actually
being called.

 The stock email plugin does not let you disable these features, but it
 should be easy to write your own.

You could just copy the email module from yesod-auth and make the
modifications there. Or even better if you're so inclined: submit a
patch to make these features optional. If you are so inclined, feel
free to contact me for some guidance.

My understanding is that none of the plugins included in
yesod-auth are magic in any way. New ones can be created
outside of the official package as long as their associated
AuthPlugin has a Text value unique among any others being
used. Is this all correct?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haddock: Documentation of instances with un-documentable type arguments

2010-09-04 Thread Alexander McPhail
Hi

Is there a similar ticket for GHC to not export instances in the case that
other instances are explicitly specified?

module Foo (
   Foo(Monad)
  )

instance Monad Foo where ...
instance MonadState (Foo Bar) where ...

i.e. the monad instance gets exported but the MonadState one does not?  This
helps in maintaining opacity with respect to the package user.  I may not
want the user to be able to call 'get' and 'put' when using my custom monad.

Cheers,

Vivian

On 26 August 2010 02:20, David Waern david.wa...@gmail.com wrote:

 2010/8/25 Alexander McPhail haskell.vivian.mcph...@gmail.com:

  Perhaps Haddock could exclude class instance reporting when it cannot
 find a
  documentable link to a parameter?

 Yes, it should. BTW, we have a trac ticket for it:

  http://trac.haskell.org/haddock/ticket/37

 You can add yourself to the CC list to show that you want this feature.

 Currently we don't have many people working on these types of tickets
 in Haddock (I'm mostly fixing bugs, others are working on bigger
 improvements), so if more people would volunteer to help out, that'd
 be great. The mailing list hadd...@projects.haskell.org can be used to
 ask for directions and help.

 David




-- 
---
yolar et elver.
---

DISCLAIMER

This transmission contains information that may be confidential. It is
intended for the named addressee only. Unless you are the named addressee
you may not copy or use it or disclose it to anyone else.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haddock: Documentation of instances with un-documentable type arguments

2010-09-04 Thread Ivan Lazar Miljenovic
On 4 September 2010 19:01, Alexander McPhail
haskell.vivian.mcph...@gmail.com wrote:
 Hi

 Is there a similar ticket for GHC to not export instances in the case that
 other instances are explicitly specified?

 module Foo (
    Foo(Monad)
   )

 instance Monad Foo where ...
 instance MonadState (Foo Bar) where ...

 i.e. the monad instance gets exported but the MonadState one does not?  This
 helps in maintaining opacity with respect to the package user.  I may not
 want the user to be able to call 'get' and 'put' when using my custom monad.

No: instances are implicitly imported and exported (if the class and
the type are visible, then so are any possible instances).

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-03 Thread Andrew Coppin

Don Stewart wrote:

andrewcoppin:
  
Almost every release of GHC that I can remember has had the links for  
the mtl package broken. (The Control.Monad.XXX modules are mostly from  
mtl. But, for example, Control.Monad.Fix is from base. I bet you'll find  
it works just fine.)



Well spotted, Andrew!

The way to get things like this fixed is to report a bug to the relevant
project.


M'kay. And for this, that would be...?


Click on the 'bug report' button:

http://trac.haskell.org/haskell-platform/
  


Ah, right. There's a HP-specific tracker. I guess now I just have to go 
register my details with yet *another* tracker and then I can report it. 
(Right after I finish checking that nobody has already reported it for 
me...)



You installed the Haskell Platform on Windows, so please mention this in
the bug ticket. The problem will likely be in the Windows installer
script, and what docs were bundled with that specific installer.

Be as detailed in the report as you can, to make sure we can reproduce
what trouble you have.
  


The information above probably says it all, so that shouldn't be hard.


In the meantime, you can always read the 'mtl' documentation on its
package page:

http://hackage.haskell.org/package/mtl
  


Well, yeah, there is that. It's just annoying to click on certain links 
and find it's dead, even if there is a workaround. (Assuming you have 
Internet access, which you occasionally don't...)


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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-02 Thread Andrew Coppin

Arnaud Bailly wrote:

Hello,
I installed (succesfully) HAskell Platform 2010.2 on windows and have 
a small but annoying issue: Some links in HTML documentation lead to 
broken links. I did not investigate all the links, but I have seen 
that all doc under Control.Monad.XXX is missing. What am I doing wrong ?


Almost every release of GHC that I can remember has had the links for 
the mtl package broken. (The Control.Monad.XXX modules are mostly from 
mtl. But, for example, Control.Monad.Fix is from base. I bet you'll find 
it works just fine.)


Today I went and did a thorough check. HP 2009.2.x.x (I forget exactly 
which one) has links that point to


 C:\Program Files\Haskell Platform\2009.2.x.x\doc\ghc-mtl-x.x.x

which does not exist. There is, however, a folder named

 C:\Program Files\Haskell Platform\2009.2.x.x\doc\mtl-x.x.x

which exists just fine, and appears to contain the correct stuff.

In HP 2010.1.0.0 and 2010.2.0.0, the links point to the latter address, 
but no such folder actually exists. The mtl documentation appears to 
simply be missing entirely, rather than being in a different place than 
where the links point to. Various older releases of GHC (before HP 
existed) have had one problem or the other, always with mtl, never with 
any other package.


I have absolutely no idea why mtl is always broken, but all the other 
packages seem to work just fine. The fact that it happens so routinely 
suggests a problem with the build process rather than a one-off mistake.


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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-02 Thread Don Stewart
andrewcoppin:
 Arnaud Bailly wrote:
 Hello,
 I installed (succesfully) HAskell Platform 2010.2 on windows and have  
 a small but annoying issue: Some links in HTML documentation lead to  
 broken links. I did not investigate all the links, but I have seen  
 that all doc under Control.Monad.XXX is missing. What am I doing wrong 
 ?

 Almost every release of GHC that I can remember has had the links for  
 the mtl package broken. (The Control.Monad.XXX modules are mostly from  
 mtl. But, for example, Control.Monad.Fix is from base. I bet you'll find  
 it works just fine.)

Well spotted, Andrew!

The way to get things like this fixed is to report a bug to the relevant
project. Click on the 'bug report' button:

http://trac.haskell.org/haskell-platform/

You installed the Haskell Platform on Windows, so please mention this in
the bug ticket. The problem will likely be in the Windows installer
script, and what docs were bundled with that specific installer.

Be as detailed in the report as you can, to make sure we can reproduce
what trouble you have.

In the meantime, you can always read the 'mtl' documentation on its
package page:

http://hackage.haskell.org/package/mtl

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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-02 Thread Daniel Fischer
On Thursday 02 September 2010 19:34:07, Don Stewart wrote:
 andrewcoppin:
  Arnaud Bailly wrote:
  Hello,
  I installed (succesfully) HAskell Platform 2010.2 on windows and have
  a small but annoying issue: Some links in HTML documentation lead to
  broken links. I did not investigate all the links, but I have seen
  that all doc under Control.Monad.XXX is missing. What am I doing
  wrong ?
 
  Almost every release of GHC that I can remember has had the links for
  the mtl package broken. (The Control.Monad.XXX modules are mostly
  from mtl. But, for example, Control.Monad.Fix is from base. I bet
  you'll find it works just fine.)

 Well spotted, Andrew!

 The way to get things like this fixed is to report a bug to the relevant
 project. Click on the 'bug report' button:

 http://trac.haskell.org/haskell-platform/

 You installed the Haskell Platform on Windows, so please mention this in
 the bug ticket. The problem will likely be in the Windows installer
 script, and what docs were bundled with that specific installer.

Probably not. I'm on Linux and build my GHCs from source. There's no 
directory mtl-1.1.0.2 in ~/share/doc/ghc/html/libraries although it's 
linked to from the package index built with the compiler. (Hadn't noticed 
before because I use the index in ~/.cabal).
Seems to be a slip-up in the makefiles.


 Be as detailed in the report as you can, to make sure we can reproduce
 what trouble you have.

 In the meantime, you can always read the 'mtl' documentation on its
 package page:

 http://hackage.haskell.org/package/mtl

 -- Don

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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-02 Thread Daniel Fischer
On Thursday 02 September 2010 20:05:12, Daniel Fischer wrote:

 Probably not. I'm on Linux and build my GHCs from source. There's no
 directory mtl-1.1.0.2 in ~/share/doc/ghc/html/libraries although it's
 linked to from the package index built with the compiler. (Hadn't
 noticed before because I use the index in ~/.cabal).
 Seems to be a slip-up in the makefiles.

Also broken:

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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-09-02 Thread Bas van Dijk
On Thu, Sep 2, 2010 at 8:20 PM, Daniel Fischer daniel.is.fisc...@web.de wrote:
 On Thursday 02 September 2010 20:05:12, Daniel Fischer wrote:

 Probably not. I'm on Linux and build my GHCs from source. There's no
 directory mtl-1.1.0.2 in ~/share/doc/ghc/html/libraries although it's
 linked to from the package index built with the compiler. (Hadn't
 noticed before because I use the index in ~/.cabal).
 Seems to be a slip-up in the makefiles.

 Also broken:

 utf8-string
 haskeline
 terminfo

Note that on Hackage all links in haddock pages to the current base
library (4.2.0.2) are broken. Possibly because the documentation for
base-4.2.0.2 was not build. The docs for base-4.2.0.1 are build fine:
http://hackage.haskell.org/package/base

Regards,

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


Re: [Haskell-cafe] Missing documentation in Haskell Platform on Windows

2010-08-31 Thread Ivan Lazar Miljenovic
On 1 September 2010 14:25, Arnaud Bailly arnaud.oq...@gmail.com wrote:
 Hello,
 I installed (succesfully) HAskell Platform 2010.2 on windows and have a
 small but annoying issue: Some links in HTML documentation lead to broken
 links. I did not investigate all the links, but I have seen that all doc
 under Control.Monad.XXX is missing. What am I doing wrong ?

Is this in the documentation for GHC?  Sometimes Haddock links to
libraries used when building GHC but aren't shipped with GHC; I'm not
sure how to deal with this.

(Note: this isn't a Windows-specific problem; it also occurs on Gentoo
Linux for example.)


 Arnaud

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





-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haddock: Documentation of instances with un-documentable type arguments

2010-08-25 Thread David Waern
2010/8/25 Alexander McPhail haskell.vivian.mcph...@gmail.com:

 Perhaps Haddock could exclude class instance reporting when it cannot find a
 documentable link to a parameter?

Yes, it should. BTW, we have a trac ticket for it:

  http://trac.haskell.org/haddock/ticket/37

You can add yourself to the CC list to show that you want this feature.

Currently we don't have many people working on these types of tickets
in Haddock (I'm mostly fixing bugs, others are working on bigger
improvements), so if more people would volunteer to help out, that'd
be great. The mailing list hadd...@projects.haskell.org can be used to
ask for directions and help.

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


Re: [Haskell-cafe] On documentation

2010-08-12 Thread David Waern
2010/7/23 Ivan Miljenovic ivan.miljeno...@gmail.com:
 On 22 July 2010 18:33, David Waern david.wa...@gmail.com wrote:

 [snip]

 We currently only support concrete examples (i.e. unit tests), but the
 plan is to add support for QuickCheck properties.

 Would you have some kind of inbuilt time limit (similar to what mueval
 has) for very long/complex QC tests?  I have some that take quite a
 while to run...

The testing is carried out by a separate program: DocTest. There is no
support for QC properties yet. Some kind of time limit would probably
be useful to have, yes. Thanks for the suggestion.

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


Re: [Haskell-cafe] On documentation

2010-07-22 Thread David Waern
2010/7/21 Richard O'Keefe o...@cs.otago.ac.nz:
 One of the really nice ideas in the R statistics system is that
 documentation pages can contain executable examples, and when you
 wrap up a package for distribution, the system checks that the
 examples run as advertised.

The next version of Haddock will support something like this,
implemented by SImon Hengel.

Here's an example of how to use the new markup:

-- | An example:
--
-- ghci fib 10
-- 55
--

 Haskell has a *perfect* fit for this idea in QuickCheck.

We currently only support concrete examples (i.e. unit tests), but the
plan is to add support for QuickCheck properties.

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


Re: [Haskell-cafe] On documentation

2010-07-22 Thread wren ng thornton

David Waern wrote:

2010/7/21 Richard O'Keefe o...@cs.otago.ac.nz:

One of the really nice ideas in the R statistics system is that
documentation pages can contain executable examples, and when you
wrap up a package for distribution, the system checks that the
examples run as advertised.


The next version of Haddock will support something like this,
implemented by SImon Hengel.

Here's an example of how to use the new markup:

-- | An example:
--
-- ghci fib 10
-- 55


Awesome. This is similar to Python's thing.



Haskell has a *perfect* fit for this idea in QuickCheck.


We currently only support concrete examples (i.e. unit tests), but the
plan is to add support for QuickCheck properties.


Also support SmallCheck/LazySmallCheck, pretty please? :)

--
Live well,
~wren
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On documentation

2010-07-22 Thread Andrew Coppin

Alexander Solla wrote:


After all, the source is always structured in more-or-less the same 
way.  Fragments of text with opaque -- unless/until you understand 
them -- combinators join two distinct concepts/types into functions. 
 A chain of functions (potentially at various levels of abstraction) 
is a computation.  You use these things by finding a chain of types 
(Start - A), (A - B), (B - C), ... (N - Goal) and composing, 
filling in additional details as necessary.  Building that chain means 
doing depth first searches on a tree/graph of possibilities, and 
usually isn't so much fun.  The library developer is in the best 
position to do exactly that, having already done it while constructing 
the library.


In Haskell even learning to use a library has an algebraic structure. ;^)

Actually, I was thinking just this afternoon... If you're writing in an 
OO language, you can use UML to produce diagrams that give you a kind of 
at-a-glance overview of the saliant parts of something. (Depending on 
how much detail you choose to include in the diagram.) I wander if 
anybody has a standardised notation that might be applicable to FP in 
general or Haskell specifically...


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


Re: [Haskell-cafe] On documentation

2010-07-22 Thread Ivan Miljenovic
On 22 July 2010 18:33, David Waern david.wa...@gmail.com wrote:

[snip]

 We currently only support concrete examples (i.e. unit tests), but the
 plan is to add support for QuickCheck properties.

Would you have some kind of inbuilt time limit (similar to what mueval
has) for very long/complex QC tests?  I have some that take quite a
while to run...


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




-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On documentation

2010-07-21 Thread Andrew Coppin

Ivan Miljenovic wrote:

* When writing the code, it's obvious what it does; as such you may
think any documentation you may offer is trivial (down the track,
however...).

* The author is familiar with a library; as such it may not be obvious
what extra documentation could be needed.


This is the inherant problem with any kind of documentation. (And it's 
by no means limited to Haskell...) The person most qualified to explain 
stuff is the one least qualified to know what needs explaining! ;-)


I would also like to draw attention to something else: Haddock offers 
solid support for writing the this function does X, that function does 
Y type of documentation. It has really very weak support for writing 
general overviews, tutorials, examples, etc. Yes, you can put example 
code into the documentation for a specific module. But look at, say, the 
Parsec documentation at


 http://legacy.cs.uu.nl/daan/download/parsec/parsec.html

This tells a new user *far* more than any API listing. And yet, Haddock 
doesn't really support writing this kind of thing properly...


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


Re: [Haskell-cafe] On documentation

2010-07-21 Thread Alexander Solla


On Jul 20, 2010, at 10:28 PM, Richard O'Keefe wrote:


What I don't see is HOW DO I USE THIS STUFF?


I think tutorials are the best way to do that (i.e., example normal  
forms for the computations the library intends to expose).  Perl's  
package archive (the cpan) traditionally uses a Synopsis section  
that exposes representative functions at each layer/step:  http://search.cpan.org/~lds/GD-2.45/GD.pm 
 for example.


After all, the source is always structured in more-or-less the same  
way.  Fragments of text with opaque -- unless/until you understand  
them -- combinators join two distinct concepts/types into  
functions.  A chain of functions (potentially at various levels of  
abstraction) is a computation.  You use these things by finding a  
chain of types (Start - A), (A - B), (B - C), ... (N - Goal) and  
composing, filling in additional details as necessary.  Building that  
chain means doing depth first searches on a tree/graph of  
possibilities, and usually isn't so much fun.  The library developer  
is in the best position to do exactly that, having already done it  
while constructing the library.___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On documentation

2010-07-20 Thread Ivan Miljenovic
On 21 July 2010 15:28, Richard O'Keefe o...@cs.otago.ac.nz wrote:
 I'm giving some lectures this week about how to _read_ programs,
 and I've had some things to say about JavaDoc and wondered whether
 to show some examples of Haddock.

 I took a certain library that has been mentioned recently in
 this mailing list.  (I shall not identify it.  The author deserves
 praise for his/her contribution, not a public mauling, and the
 reason for the message is that that package is not unusual.)  The
 reason I chose it was that I thought actually, I should learn
 how to use that, never mind the students.

 Upon looking at the Haddock web page,
  - reaction one this is pretty flashy.
  - reaction two, but WHERE IS THE DOCUMENTATION?

These are good points and I agree with the rest of your email as well
(which I've removed for the sake of brevity).

However, I would like to offer two qualifiers that I myself have found
when writing documentation for my own libraries:

* When writing the code, it's obvious what it does; as such you may
think any documentation you may offer is trivial (down the track,
however...).

* The author is familiar with a library; as such it may not be obvious
what extra documentation could be needed.  As such, if you're a user
of a library and you think it's documentation could be improved, maybe
try telling the maintainer that (this kind of prompting is why I
bothered to make a website for my graphviz library).

As a kind of a wishlist, having more markup support would possibly
improve the quality of documentation (rather than being limited to
normal text, monospace text and italic text; I've often times wanted
to make something bold in my Haddock documentation to emphasise it but
alas Haddock doesn't support it).

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] creating documentation links failed with cabal install --haddock-options=--hyperlink-source. is this a bug?

2009-11-16 Thread Duncan Coutts
On Sat, 2009-10-31 at 10:45 -0500, Thomas Hartman wrote:
 cabal haddock -–hyperlink-source
 
 installs documentation with links to source code, which also be on by defualt.
 
 cabal install –haddock-options=–hyperlink source
 
 does not install hyperlinked source.

This is an instance of the lack of the feature described in this ticket:

http://hackage.haskell.org/trac/hackage/ticket/517


BTW, you're getting confused between flags for the cabal haddock
command and the haddock command. The --hyperlink-source flag is for
the cabal haddock command. The haddock tool has no such flag (or
anything equivalent) so using --haddock-options= will not help.

Duncan

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


Re: [Haskell-cafe] Re: Documentation (was: ANN: text 0.5, a major revision of the Unicode text library)

2009-10-19 Thread Kyle Murphy
On a somewhat related note, I think the Haskell documentation in general is
rather
patchy and hard to follow for most things. Part of that I think is because
of the
confusion between the different forms of documentation. In general as a
programmer
I expect to find three kinds of documentation available, preferably in a
centralized
location, but at least in a handful of standardized locations. The first
kind, is what
Haskell has in abundance, and what is hosted in Hackage, which is API
documentation.
API documentation is written to be terse, to assume you already know how
library
Foo works (and probably library Bar and Baz too), and you just need to
refresh
yourself on exactly what the signature of function wibble was exactly.
Really good
API documentation also fills the role of some of the other kinds of
documentation
and has some quick examples sprinkled around the most commonly used
functions
and maybe a nice intro paragraph with even more examples and some
suggestions
for further information. The second kind of documentation which is very
nearly
non-existant for most Haskell packages is a user manual that documents in
detail
all the functions and data types of a package, how you use them, and the
ideas
and concepts they're based on. Given only this documentation, a firm
understanding
of the language, and a basic knowledge of the problem domain, anyone should
be
able to write an application using your library. If they have to spend three
hours
trying to track down some obscure research paper that's referenced in your
documentation a half dozen times in as many functions, you're not providing
enough detail and assuming too great a knowledge of the domain. The last
kind
of documentation which is fortunately somewhat more prevalent then the
previous
kind is the classic tutorial, which documents and thoroughly explains the
most
commonly used functions in your library (not to be confused with thoroughly
explaining
your library which is the job of the user manual). There are quite a few
good tutorials
on Haskell in general, Monads specifically, and a lot of random bits and
pieces floating
around on the net, and thankfully collected for reference on the Haskell
wiki.

On the whole, the Haskell API docs are decent (although most of them are not
what I
would call Good), and the tutorials are also rather plentiful, but the
user manuals
are practically non-existent. What would be ideal is if the hackage entry
for each
package also included a link to the user manual for that package if it
exists (and
hopefully most of them would exist) in addition to the links to the API docs
and
homepage it already has (I suppose in theory the homepage link can serve
this
purpose and in some cases it currently does, but an actual manual link
would be
nice).

(All of the following were chosen at random)

For reference, here is a good example of an API doc:
http://hackage.haskell.org/package/zlib

Average API docs (but with links to good user manual and tutorial):
http://hackage.haskell.org/package/DeepArrow

Bad API docs (but once again with a link to average manual/tutorial):
http://hackage.haskell.org/package/actor

-R. Kyle Murphy
--
Curiosity was framed, Ignorance killed the cat.


On Mon, Oct 12, 2009 at 16:29, John Lato jwl...@gmail.com wrote:

  From: Derek Elkins derek.a.elk...@gmail.com
 
  On Sun, Oct 11, 2009 at 8:55 AM, Iain Barnett iainsp...@gmail.com
 wrote:
 
  On 11 Oct 2009, at 13:58, John Lato wrote:
 
  For anyone writing introductions to generic programming, take this as
  a plea from Haskellers everywhere.  If one of the RWH authors can't
  understand how to make use of these techniques, what hope do the rest
  of us have?
 
  John Lato
 
  P.S. Some might wryly note that I'm the maintainer of a package which
  is also known for incomprehensible documentation.  To which I would
  reply that our effort is much newer, I consider it a problem, and it's
  being worked on, contrasted to the state of GP where similarly
  impenetrable documentation has been and continues to be the norm.
 
 
  You could say that about most documentation (for Haskell and beyond).
  Apparently, programmers like programming better than documenting. The
 effect
  of this is that less people use their programming, making their efforts
  redundant.
 
  Silly really, considering programmers are (allegedly:) intelligent.
 
  Apparently, programmers like programming better than reading as
  well... in my experience.

 I won't disagree.  But I think the real difficulty is that the
 intersection of programmers who can come up with really good ways to
 solve problems (not even all programmers, unfortunately) and people
 who are good at writing documentation is vanishingly small.

 It seems to me that when someone works in a problem domain (e.g.
 Generic Programming), they gain a very deep understanding of that area
 and are used to working at a certain level within it.  When
 introducing the topic to newcomers (even ostensibly smart programmers)
 

Re: [Haskell-cafe] Re: Documentation (was: ANN: text 0.5, a major revision of the Unicode text library)

2009-10-19 Thread Tom Tobin
On Mon, Oct 19, 2009 at 4:32 PM, Kyle Murphy orc...@gmail.com wrote:
 If they have to spend three hours trying to track down some obscure
 research paper that's referenced in your documentation a half dozen times
 in as many functions, you're not providing enough detail and assuming too
 great a knowledge of the domain.

Even just a paragraph or two giving some background information and
example use cases would help immensely here; sometimes I just want to
quickly assess whether a library might be useful for solving a
particular problem, and go read this paper stops me cold.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Installing documentation with cabal

2009-08-18 Thread Krzysztof Skrzętnicki
It is. From command line:

cabal install package --enable-documentation

or add line
documentation: True
to .cabal/config or equivalent.

Best regards

Krzysztof Skrzętnicki


On Tue, Aug 18, 2009 at 22:29, Maciej Piechotka uzytkown...@gmail.comwrote:

 Is it possible to automatically (or non-automatically) install
 documentation when installing package with cabal-install?

 Regards

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


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


Re: [Haskell-cafe] Installing documentation with cabal

2009-08-18 Thread Maciej Piechotka
On Tue, 2009-08-18 at 22:37 +0200, Krzysztof Skrzętnicki wrote:
 It is. From command line:
 
 cabal install package --enable-documentation
 
 or add line
 documentation: True
 to .cabal/config or equivalent.
 
 Best regards
 
 Krzysztof Skrzętnicki
 

Thanks a lot.

Regards


signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Documentation on hackage

2009-06-15 Thread Claus Reinke

who needs this kind of documentation?

http://hackage.haskell.org/packages/archive/tfp/0.2/doc/html/Types-Data-Num-Decimal-Literals.html


The code below is shown under 'Source' links
in that documentation. I don't understand it,
but it seems everything is generated automatically.
What should the author do to avoid those comments?


Older versions of haddock used to define a CPP constant that
could be used to tweak the code for haddock. Since newer
versions nominally support every feature that GHC supports,
that CPP support was dropped.

(a) it would be nice if haddock still identified itself via CPP,
   just like GHC does. Then users would at least have the
   option to work around current limitations / bugs in haddock,
   as well as present tweaked presentations of their interfaces.

(b) it seems sensible for haddock to provide two options for
   handling template Haskell code:
   - document the TH code
   - document the code generated by TH
   In this case, the first option would seem more suited.

Claus


module Types.Data.Num.Decimal.Literals where

import Types.Data.Num.Decimal.Literals.TH

import Types.Data.Num.Decimal.Digits
import Types.Data.Num.Ops

$( decLiteralsD D d (-1) (1) )

--

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


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


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Brandon S. Allbery KF8NH

On Jun 8, 2009, at 04:10 , Niemeijer, R.A. wrote:
Hence I wanted to ask if this is a bug or if there is a good  
technical or social reason for it, and whether there is any way  
around it.



Auto-running haddock on upload strikes me as a good way to open  
hackage.haskell.org to a denial of service attack.


Additionally, I *think* haddock is run as part of the automated build  
tests, which (again) happen on a regular schedule instead of being  
triggered by uploads to avoid potential denial of service attacks.


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon universityKF8NH




PGP.sig
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Brandon S. Allbery KF8NH

On Jun 8, 2009, at 04:36 , Brandon S. Allbery KF8NH wrote:

On Jun 8, 2009, at 04:10 , Niemeijer, R.A. wrote:
Hence I wanted to ask if this is a bug or if there is a good  
technical or social reason for it, and whether there is any way  
around it.


Auto-running haddock on upload strikes me as a good way to open  
hackage.haskell.org to a denial of service attack.



I should clarify:  yes, in a valid project haddock takes almost no  
time.  Nevertheless:


(1) if many uploads of even valid packages are made in a very short  
time, the system load could well be severely impacted;
(2) what of malicious packages, which might trigger bugs in haddock  
leading to (say) 100% CPU loops?  That we don't know of any doesn't  
mean there aren't any, unless the test suite is absolutely 100%  
complete (and for a large program, that becomes as hard to verify as  
the program itself.  now consider that haddock is part of ghc these  
days...).


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon universityKF8NH




PGP.sig
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Niemeijer, R.A.
If that is the main concern, would the following not work?

- Hackage accounts already have to be created manually, so there is no
  chance of a DDoS.
- Uploading to hackage requires a username and password, which means
  the user can be identified. Set a timeout on uploads for each user:
  packages sent within 2 minutes of the previous one are automatically
  refused. Prevents quantity-based DoS.
- Generate haddock docs immediately on upload, but apply a 2-second
  timeout; if it takes longer, the process is killed and no documentation
  is generated. Prevents exploit-based DoS.
- If many valid packages are uploaded in a short time (though I have my
  doubts as to how often that is going to happen), put them in a queue.
  Documentation will take a bit longer to generate, but the server can
  control the load. Prevents inadvertent DoS.

Result: immediate documentation for every contributor with good
intentions (which, face it, is going to be all of them; I doubt Haskell
is popular enough yet to be the target of DoS attacks) and no
possibility for DoS attacks. I might be overlooking something, but
I believe this should work just fine.

-Original Message-
From: Brandon S. Allbery KF8NH [mailto:allb...@ece.cmu.edu] 
Sent: maandag 8 juni 2009 10:41
To: Brandon S. Allbery KF8NH
Cc: Niemeijer, R.A.; haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] Slow documentation generation on Hackage

On Jun 8, 2009, at 04:36 , Brandon S. Allbery KF8NH wrote:
 On Jun 8, 2009, at 04:10 , Niemeijer, R.A. wrote:
 Hence I wanted to ask if this is a bug or if there is a good 
 technical or social reason for it, and whether there is any way 
 around it.

 Auto-running haddock on upload strikes me as a good way to open 
 hackage.haskell.org to a denial of service attack.


I should clarify:  yes, in a valid project haddock takes almost no  
time.  Nevertheless:

(1) if many uploads of even valid packages are made in a very short  
time, the system load could well be severely impacted;
(2) what of malicious packages, which might trigger bugs in haddock  
leading to (say) 100% CPU loops?  That we don't know of any doesn't  
mean there aren't any, unless the test suite is absolutely 100%  
complete (and for a large program, that becomes as hard to verify as  
the program itself.  now consider that haddock is part of ghc these  
days...).

-- 
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon universityKF8NH


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


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Ketil Malde
Niemeijer, R.A. r.a.niemei...@tue.nl writes:

 If that is the main concern, would the following not work?
  
  [...]

 Result: immediate documentation for every contributor with good
 intentions

Or simply, on upload, generate the doc directory with a temporary page
saying that documentation will arrive when it's good and ready?

Result: as before, but with less confusion for new contributors.  So
not as good as Niemeijer's suggestions, but probably easier to
implement. 

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Thomas ten Cate
On Mon, Jun 8, 2009 at 11:05, Niemeijer, R.A.r.a.niemei...@tue.nl wrote:
 which, face it, is going to be all of them; I doubt Haskell
 is popular enough yet to be the target of DoS attacks

Second that. I think this is a good case in which some security should
be traded in for usability. And even if a DoS attack occurs, it just
causes some downtime... not unlike the certain hours of downtime that
the documentation currently has.

If there's actually an exploitable leak in Haddock that allows the
server to be compromised (not just DoSed), then the current Haddock
generation is just as vulnerable.

But of course I'm not the maintainers of Hackage... it's up to them to decide.

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


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread wren ng thornton

Thomas ten Cate wrote:

Niemeijer, R.A. wrote:
 which, face it, is going to be all of them; I doubt Haskell
 is popular enough yet to be the target of DoS attacks

Second that. I think this is a good case in which some security should
be traded in for usability.


Those who would trade security for usability deserve neither usability 
nor security ;)


Seriously, all the Haskell hackers I've encountered have been good 
people, but Haskell is the language of the hair shirt afterall. Security 
is hard enough to come by in the first place, sacrificing what little we 
have is not the right path. The Haskell interwebs are already too 
susceptible to downtimes from non-malicious sources, and it floods 
#haskell whenever it happens.


I agree that the turnaround time is a bit long, but I think server 
stability is more important than instant feedback. It's easy enough to 
get an account on community.haskell.org and just upload your own docs 
there[1]. The thing I'd be more interested in getting quick feedback on 
is whether compilation succeeds in the Hackage environment, which is 
very different from my own build environment.


Given the various constraints mentioned, and depending on the load 
averages for the servers, perhaps the simplest thing to do would be to 
just reduce the latency somewhat. Flushing the queue every 4~6 hrs seems 
both long enough to circumvent the major DoS problems, and short enough 
to be helpful to developers. Especially if the queue could be set up to 
be fair among users (e.g. giving each user some fixed number of slots or 
cycles per flush, delaying the rest until the next cycle). A different 
approach would be to do exponential slowdown per user. So if a user has 
submitted N jobs in the last Window (e.g. 24 hours), then the job is run 
around Epsilon^N after submission (where Epsilon is, say, 3 minutes).



[1] I do: http://community.haskell.org/~wren/ The scripts to automate it 
are trivial, but I can share them if people like.


--
Live well,
~wren
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Duncan Coutts
On Mon, 2009-06-08 at 11:24 +0200, Ketil Malde wrote:
 Niemeijer, R.A. r.a.niemei...@tue.nl writes:
 
  If that is the main concern, would the following not work?
   
   [...]
 
  Result: immediate documentation for every contributor with good
  intentions

Having the server generate docs itself would be regressing towards a
worse design. The server should just manage upload/download, storage and
management of information. It should not be running builds and
generating docs.

 Or simply, on upload, generate the doc directory with a temporary page
 saying that documentation will arrive when it's good and ready?

And use a design where there isn't just a single build client, like the
design for the new hackage-server. Any authorised client should be able
to upload docs. That should include the package maintainer as well as
authorised build bots. Then we can easily adjust the time between
package upload and documentation generation without having to tell the
server anything.

Duncan

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


Re: [Haskell-cafe] Slow documentation generation on Hackage

2009-06-08 Thread Ross Paterson
On Mon, Jun 08, 2009 at 04:36:14AM -0400, Brandon S. Allbery KF8NH wrote:
 Additionally, I *think* haddock is run as part of the automated build  
 tests, which (again) happen on a regular schedule instead of being  
 triggered by uploads to avoid potential denial of service attacks.

That's correct.  One workaround is to upload your package just before
0:00, 6:00, 12:00 or 18:00 UK time.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Missing documentation for Haddock

2009-02-27 Thread David Waern
2009/2/27 Colin Paul Adams co...@colina.demon.co.uk:
 On http://haskell.org/haddock/doc/html/module-attributes.html the
 not-home attribute is missing (it's documentation is present, but the
 attribute itself is not named).

Thanks for the report.

By the way, the Haddock trac page is at:

  http://trac.haskell.org/haddock

We also have a mailing list:

  hadd...@projects.haskell.org

I will fix this bug directly, so we don't need a bug ticket of course.
But it may be nice for you to know where to report bugs in the future.

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


Re: [Haskell-cafe] IntMap documentation error

2009-02-24 Thread Duncan Coutts
On Mon, 2009-02-23 at 17:22 -0600, Louis Wasserman wrote:
 In the documentation for Data.IntMap updateMin, a piece of example
 code both communicates incorrect intuition, and fails to even compile.
 
 updateMin :: (a - a) - IntMap a - IntMap a
 
  updateMin (\ _ - Nothing) (fromList [(5,a), (3,b)]) -- code
 straight from the docs
 
 interactive:1:49:
Couldn't match expected type `Maybe a'
   against inferred type `[Char]'
In the expression: a
In the expression: (5, a)
In the first argument of `fromList', namely `[(5, a), (3, b)]'
 
 As a side note, the sort of operation implied by the example code was
 really what I was looking for in the documentation -- but such a
 method no longer exists in IntMap.  ::sad::
 
 Who do I tell this to / how do I ask to get it fixed?

Open a ticket in the ghc trac:
http://hackage.haskell.org/trac/ghc/

set the component to libraries other. Paste in your description and if
you can, attach a darcs patch to the ticket.


More generally, to work out where to send things check the hackage page.
Most packages list a maintainer or author and some are now specifying a
bug reports url.

Currently for the containers package it's not all that helpful, it only
lists a maintainer email address as librar...@haskell.org. Though that
would also have been a place to start to get the above advice. The next
release of all the core packages will also list their bug-report urls
and these will appear on their hackage pages.

Duncan

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


Re: [Haskell-cafe] about documentation improvements

2009-01-16 Thread Duncan Coutts
On Fri, 2009-01-16 at 15:12 +0100, Manlio Perillo wrote:
 About latest thread on better naming and documentation improvement, why 
 don't organize an interactive session where:
 
 1) normal users tell what's wrong about a package/module documentation
 2) the package/module author/maintainer fix the documentation in real
 time, so that users can review it again


Along similar lines, here's a project I've been thinking about that
someone might like to try...

It's a cross between darcs and a wiki. You want to let users contribute
minor fixes to code or documentation. It's especially relevant for
trivial changes to documentation. But instead of making the change live,
it makes a darcs patch and sends it to the package maintainer.

The point is it should be as easy as a wiki to make some minor
improvement, but it does not mean your actual source code lives in a
wiki, the maintainer still has control and gets patches via their normal
source control system.

Duncan

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


Re: [Haskell-cafe] about documentation improvements

2009-01-16 Thread Ross Paterson
On Fri, Jan 16, 2009 at 03:12:21PM +0100, Manlio Perillo wrote:
 About latest thread on better naming and documentation improvement, why  
 don't organize an interactive session where:

 1) normal users tell what's wrong about a package/module documentation
 2) the package/module author/maintainer fix the documentation in real
time, so that users can review it again

Not quite real time, the documentation generated by the nightly builds
should be at

http://www.haskell.org/ghc/dist/current/docs/libraries/index.html

It doesn't seem to have been updated since 7 Jan, though.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] about documentation improvements

2009-01-16 Thread Gwern Branwen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

On Fri, Jan 16, 2009 at 9:29 AM, Duncan Coutts  wrote:
 On Fri, 2009-01-16 at 15:12 +0100, Manlio Perillo wrote:
 About latest thread on better naming and documentation improvement, why
 don't organize an interactive session where:

 1) normal users tell what's wrong about a package/module documentation
 2) the package/module author/maintainer fix the documentation in real
 time, so that users can review it again


 Along similar lines, here's a project I've been thinking about that
 someone might like to try...

 It's a cross between darcs and a wiki. You want to let users contribute
 minor fixes to code or documentation. It's especially relevant for
 trivial changes to documentation. But instead of making the change live,
 it makes a darcs patch and sends it to the package maintainer.

 The point is it should be as easy as a wiki to make some minor
 improvement, but it does not mean your actual source code lives in a
 wiki, the maintainer still has control and gets patches via their normal
 source control system.

 Duncan

Now that Gitit supports a Darcs-backend, maybe Gitit would work.

The idea is one would do a darcs get of whatever library, mv it into a
gitit dir/, and then run gitit in dir/. Now there's a web interface
which lets people edit any repo-tracked file (dir/repo/*).

Of course, there's nothing stopping users of that wiki from editing
stuff besides the haddocks (although one certainly hopes they will
stick to doc changes). But here's the cool part: because each wiki
edit is a full-fledged patch, and the wiki's dir/repo/ is presumably
tracking the main library repo, any patch from the wiki should be
directly applicable to the main library repo.

So then someone can, every day or two, visit the wiki and review all
the patches. He obliterates the bad ones, and he will either darcs
push or darcs send all the good ones to the main repo!

This proposal has the advantage of being extremely easy to set up and
run, easy to understand (this here wiki is an exact copy of the real
repo; if we like your changes, we'll copy them over to the real repo
after a day or 2. Now run along and have fun.), and still permitting
as much review as the conventional lumbering process.

And it also has scope for additional capabilities. Perhaps one would
add a post-commit-hook which does a darcs send of all new patches to a
mailing list. Or perhaps Gitit could display Haskell src files as
Haddock pages only so an editor could make little tweaks, hit the
'preview' button, and see whether he fixed whatever. Or...

- --
gwern
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEAREKAAYFAklwqZcACgkQvpDo5Pfl1oIxEgCeJkKE+uGsjw2Yb3rIRolaam7e
aagAnR4yDKJ7e3QI8MEzwQtSYT43oPUF
=4JXN
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] about documentation improvements

2009-01-16 Thread Manlio Perillo

Duncan Coutts ha scritto:

On Fri, 2009-01-16 at 15:12 +0100, Manlio Perillo wrote:
About latest thread on better naming and documentation improvement, why 
don't organize an interactive session where:


1) normal users tell what's wrong about a package/module documentation
2) the package/module author/maintainer fix the documentation in real
time, so that users can review it again



Along similar lines, here's a project I've been thinking about that
someone might like to try...

It's a cross between darcs and a wiki. You want to let users contribute
minor fixes to code or documentation. It's especially relevant for
trivial changes to documentation. But instead of making the change live,
it makes a darcs patch and sends it to the package maintainer.



That's what I was thinking, documentation behind a revision control system.

However I was thinking of:
- normal user can only add annotations
- only authors can change the documentation


The point is it should be as easy as a wiki to make some minor
improvement, but it does not mean your actual source code lives in a
wiki, the maintainer still has control and gets patches via their normal
source control system.



I was not thinking of a wiki; but of a system to be used for small 
sessions (about 1/2 hour) held once in a while, where there is strong 
interaction between users and authors.



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


Re: [Haskell-cafe] FFI documentation?

2008-11-09 Thread Magnus Therning
Nun Aurbiz wrote:
 Where do I find the documentation for the FFI for GHC?  I've read the
 FFI report, the GHC user guide and scoured haskell.org but they all
 gloss over what commands you actually need to give GHC and how to give
 them.  foreign import blah blah just gives me undefined references.

I've documented some of manual building in an old post on FFI
http://therning.org/magnus/archives/238

Not sure if it's enough to get you on your way though...

/M

-- 
Magnus Therning (OpenPGP: 0xAB4DFBA4)
magnus@therning.org Jabber: magnus@therning.org
http://therning.org/magnus

Haskell is an even 'redder' pill than Lisp or Scheme.
 -- PaulPotts



signature.asc
Description: OpenPGP digital signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] FFI documentation?

2008-11-08 Thread Luke Palmer
2008/11/8 Nun Aurbiz [EMAIL PROTECTED]:
 Where do I find the documentation for the FFI for GHC?  I've read the FFI
 report, the GHC user guide and scoured haskell.org but they all gloss over
 what commands you actually need to give GHC and how to give them.  foreign
 import blah blah just gives me undefined references.

You need to give the libraries you are using on the command line just like gcc.

  ghc --make Foo -lbar

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


Re: [Haskell-cafe] Haddock documentation of Data.Array.* is confusing

2008-02-20 Thread Bulat Ziganshin
Hello Alfonso,

Tuesday, February 12, 2008, 11:32:20 PM, you wrote:

 Excuse me for the subject, but IMHO is absolutely true. Anyhow, the

of course, you are right, but for practical goals i may suggest just
to read module sources instead of reading [had]docs. seeing the
implementation is much more interesting, after all. especially when you
are so cool that you are going to add your own instance


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

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


Re: [Haskell-cafe] Haddock documentation of Data.Array.* is confusing

2008-02-20 Thread Alfonso Acosta
On Wed, Feb 20, 2008 at 10:17 PM, Bulat Ziganshin
[EMAIL PROTECTED] wrote:
 Hello Alfonso,


  Tuesday, February 12, 2008, 11:32:20 PM, you wrote:

   Excuse me for the subject, but IMHO is absolutely true. Anyhow, the

  of course, you are right, but for practical goals i may suggest just
  to read module sources instead of reading [had]docs.

Well, that's what I was forced to do in the end, but I still think
that the haddock documentation should be clear enough for most of the
cases, and, when it comes to  Data.Array* it could certainly be
improved.

 seeing the
  implementation is much more interesting, after all. especially when you
  are so cool that you are going to add your own instance

I don't think that being cool had anything to do with it. My only
purpose was to understand the desing of the interface for inmutable
arrays.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] array documentation is missing

2007-12-14 Thread Jed Brown
On 14 Dec 2007, [EMAIL PROTECTED] wrote:

 but I got stuck fixing it because the array documentation isn't there

 http://www.haskell.org/ghc/docs/latest/html/libraries/haskell98/Array.html

Try the hierarchical library docs:

http://haskell.org/ghc/docs/latest/html/libraries/array/Data-Array-MArray.html
http://haskell.org/ghc/docs/latest/html/libraries/array/Data-Array-ST.html

Jed


pgpjdAkVLycE4.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Tiny documentation request

2007-09-11 Thread Jules Bean

Andrew Coppin wrote:
OTOH, I recently discovered that GHCi has the ability to show you what's 
defined in a given module without me having to wait 40 seconds for 
Firefox to start... Shame you can't scroll its output. (And still no 
help if you're not sure of the module name.)


!!!

Run ghci in an environment with a scroll buffer then? Like a 
non-braindead terminal application, or emacs? (The latter even gives you 
convenient reverse-incremental-search to search through the info you 
just printed)


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


Re: [Haskell-cafe] Tiny documentation request

2007-09-11 Thread Adrian Hey

Jules Bean wrote:

Andrew Coppin wrote:
OTOH, I recently discovered that GHCi has the ability to show you 
what's defined in a given module without me having to wait 40 seconds 
for Firefox to start... Shame you can't scroll its output. (And still 
no help if you're not sure of the module name.)


!!!

Run ghci in an environment with a scroll buffer then? Like a 
non-braindead terminal application, or emacs? (The latter even gives you 
convenient reverse-incremental-search to search through the info you 
just printed)


I don't know if Andrew is a windows user, but if so he might not be
aware that even with the (otherwise braindead) command window the
number of lines buffered is a configurable property (on WinXP at least).
I have it set to 1000 lines.

The other thing I've found that makes the use of command line tools
a lot less painful than it would otherwise be in windows is the
Open Command Window Here Power Toy..

http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

It's still nowhere near as good as the old XTree though :-(

Regards
--
Adrian Hey




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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Sven Panne
On Sunday 09 September 2007 18:41, Andrew Coppin wrote:
 [...]
 Well, if I could collapse it with a single click, it would be much
 easier to scroll past it and get to the thing I'm looking for. I didn't
 say remove it, just give me the option to hide it. ;-)

OK, that shouldn't be too hard to implement.

 Oh goodie... So it's there to keep the machines happy?

No, it's there to keep *me* happy when I'm looking for a module. ;-)

 It's just tedious that every single time I load up this page, I have to
 spend 30 seconds manually collapsing everything so I can get to the
 module I actually want to look at. (The alternative is to manually
 scroll the 13-page list my hand. Not very funny...)

I still fail to understand why you have to scroll or collapse manually, every 
browser I know of has a search facility. And there is the index page, where 
you have an incremental search facility even when your poor browser (guess 
which one I mean? :-) doesn't have it, at least when the index has been 
generated by a recent Haddock.

 OK, so... can we add a pair of expand all/collapse all buttons then?

Again, this should be rather easy to add.

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread manu

Neil Mitchell wrotes :

Replicating actual tables with CSS is a nightmare - you shouldn't use
table's for lots of things,


I agree


but there are sometimes when it really is
the best option.


Which isn't the case here !
Nested lists would easily do the trick...


Fixing up the CSS and still keeping tables is a
perfectly valid option.


yes it's true...


E.D




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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Brent Yorgey
 Just bookmark: http://haskell.org/hoogle

 It's not perfect, but it probably solves lots of your problems.


And if you use Firefox, you can even install Hoogle as one of the search
engines in the upper-right search box.  Nice and fast!

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Andrew Coppin

Sven Panne wrote:

On Sunday 09 September 2007 18:41, Andrew Coppin wrote:
  
  

Oh goodie... So it's there to keep the machines happy?



No, it's there to keep *me* happy when I'm looking for a module. ;-)
  


Well, there's over 200 modules relating to graph theory alone. (Modules 
that I will never ever need, since I don't even know what graph theory 
*is*...) There's also a few hundred OpenGL modules - which I won't be 
looking at unless I specifically want to do something with OpenGL... In 
summary, it's probably quicker to be able to just expand the ones I want 
to look at, rather than collapse the ones I don't want to look at. 
(Works for Windows Explorer and the file system, eh?)


I still fail to understand why you have to scroll or collapse manually, every 
browser I know of has a search facility. And there is the index page, where 
you have an incremental search facility even when your poor browser (guess 
which one I mean? :-) doesn't have it, at least when the index has been 
generated by a recent Haddock.
  


I dislike searches. When all the categories are collapsed, they fit onto 
a single page. The hierachy is sufficiently shallow that from there you 
can instantly get to any module. And if you can't remember the exact 
name of the module, searches are useless but you can probably find it 
visually in a few clicks.


OTOH, I recently discovered that GHCi has the ability to show you what's 
defined in a given module without me having to wait 40 seconds for 
Firefox to start... Shame you can't scroll its output. (And still no 
help if you're not sure of the module name.)


If you're really stuck, there's always Hoogle. Assuming you can guess 
either the likely function name or the correct order and type of its 
arguments... (And on occasion it has a habit of not showing the function 
you're looking for, or just showing it very far down the list, even 
though the type signature *exactly* matches what you typed... but 
usually it's quite good.)


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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Andrew Coppin

Brent Yorgey wrote:
And if you use Firefox, you can even install Hoogle as one of the 
search engines in the upper-right search box.  Nice and fast!


I've never really understood what the benefit of this is... I mean, 
Google make the Google toolbar, but what's the point? Why not just 
click on the Google bookmark and type in your search? What benefits does 
installing a special addon provide?


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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Ian Lynagh
On Sun, Sep 09, 2007 at 05:38:03PM +0200, Sven Panne wrote:
 On Sunday 09 September 2007 16:40, Andrew Coppin wrote:
  I have the following page bookmarked:
 
http://haskell.org/ghc/docs/latest/html/libraries/
 
  I'd like to ask 2 things.
 
  1. Would it be possible to make the *huge* list of package names at the
  top collapsable? (That way I don't have to scroll through several pages
  of uninteresting text to get to the bit I actually want.)
 
 What do you mean exactly with the *huge* list of package names? The 
 description list with the short textual descriptions of each package?

It's about a fifth of the page, I think, and it'll get larger
percentagewise as base breaks up more.

Also, on Debian systems, we add all installed libraries to this index,
so it gets even larger.

 I'd say 
 that this list is highly interesting to people unfamiliar with the package 
 structure, so it is good that it is there.

Is that really helpful? There isn't a mapping from package name to
modules, so I'm not sure what it buys you. I'm sure I've never looked at
it.

I'm interested in other opinions on this, as I planned to remove the
list from the Debian packages.

Would it be better to have a separate page with a package index,
containing the description of each package and a link to each of the
modules that it provides?


Thanks
Ian

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Thomas Schilling
On Mon, 2007-09-10 at 20:28 +0100, Ian Lynagh wrote:

 Would it be better to have a separate page with a package index,
 containing the description of each package and a link to each of the
 modules that it provides?

+1

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Thomas Schilling
On Mon, 2007-09-10 at 19:51 +0100, Andrew Coppin wrote:
 Brent Yorgey wrote:
  And if you use Firefox, you can even install Hoogle as one of the 
  search engines in the upper-right search box.  Nice and fast!
 
 I've never really understood what the benefit of this is... I mean, 
 Google make the Google toolbar, but what's the point? Why not just 
 click on the Google bookmark and type in your search? What benefits does 
 installing a special addon provide?

Well, for the default Google searchbox the advantage is:

  Ctrl-K search phrase ENTER

versus

  grab mouse .. point ... click ... move hand back to keyboard ... type
search phrase, ENTER

I never used any of the secondary search bars.  Unless I can define a
shortcut to access hoogle quickly there's no advantage.


However, regarding the modules list.  I think it should be easy to have
optional javascript functionality to toggle the visibility of the module
tree.  The default visibility could be customized using a cookie.

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Neil Mitchell
Hi

  I've never really understood what the benefit of this is... I mean,
  Google make the Google toolbar, but what's the point? Why not just
  click on the Google bookmark and type in your search? What benefits does
  installing a special addon provide?

You can setup firefox so in the location bar (Alt+D) typing h query
(without the quotes) will perform a hoogle query. Simply right click
in the search box and click add keyword search with h as the
keyword. You can also do the same for Google, which I've been using
for years (Opera 5 had this feature!)

re: Hoogle not always getting it exactly right, there are a few known
bugs floating around which I'm working on. Hoogle can permute the
order of arguments though, so that shouldn't be a problem. It doesn't
really like Monads, but I wrote Hoogle before I was aware of
higher-kinded type classes, so its understandable...

Thanks

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Brent Yorgey
 Well, for the default Google searchbox the advantage is:

   Ctrl-K search phrase ENTER

 versus

   grab mouse .. point ... click ... move hand back to keyboard ... type
 search phrase, ENTER

 I never used any of the secondary search bars.  Unless I can define a
 shortcut to access hoogle quickly there's no advantage.


To search Hoogle I just type  Ctrl-K F4 h search phrase ENTER.  Once
you're in the search box, F4 (or alt-up/alt-down) let you select a
particular search engine.

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-10 Thread Andrew Coppin

Neil Mitchell wrote:

Hi

re: Hoogle not always getting it exactly right, there are a few known
bugs floating around which I'm working on. Hoogle can permute the
order of arguments though, so that shouldn't be a problem. It doesn't
really like Monads, but I wrote Hoogle before I was aware of
higher-kinded type classes, so its understandable...
  


Overall, I think Hoogle is an increadibly neat tool. I've never seen 
anything else like it. (But then, how many other languages let you 
virtually figure out what a function does just by its type signature?)


I shudder to think what Hoogle will be like if they ever get round to 
adding MPTCs, ATs, rank-Ns and existential types to the language 
standard... Good luck with searching for that! ;-)


OOC, how big is Hoogle and how long did it take to do?

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-09 Thread Johan Tibell
I agree about the top part. It's not very interesting, especially not
in a document used as a reference. Perhaps we could move it to the end
and provide an anchor link from the different modules down to their
package explanation.

A tip is to use Firefox's search as you type feature if you know the
module name.

Cheers,

Johan

On 9/9/07, Andrew Coppin [EMAIL PROTECTED] wrote:
 I have the following page bookmarked:

   http://haskell.org/ghc/docs/latest/html/libraries/

 I'd like to ask 2 things.

 1. Would it be possible to make the *huge* list of package names at the
 top collapsable? (That way I don't have to scroll through several pages
 of uninteresting text to get to the bit I actually want.)

 2. Could we make is so all items are collapsed initially? (Currently
 they're all expended initially - which makes it take rather a long time
 to find anything.)

 Just thought I'd ask...

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

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-09 Thread Sven Panne
On Sunday 09 September 2007 16:40, Andrew Coppin wrote:
 I have the following page bookmarked:

   http://haskell.org/ghc/docs/latest/html/libraries/

 I'd like to ask 2 things.

 1. Would it be possible to make the *huge* list of package names at the
 top collapsable? (That way I don't have to scroll through several pages
 of uninteresting text to get to the bit I actually want.)

What do you mean exactly with the *huge* list of package names? The 
description list with the short textual descriptions of each package? I'd say 
that this list is highly interesting to people unfamiliar with the package 
structure, so it is good that it is there.

 2. Could we make is so all items are collapsed initially? (Currently
 they're all expended initially - which makes it take rather a long time
 to find anything.)

Again this depends on the use case: I'd vote strongly against collapsing the 
list initially, because that way the incremental search in Firefox won't work 
without un-collapsing everything.

When the index is generated with a more recent Haddock, you get a search 
field, which does an incremental search, so this might perhaps be more what 
you are looking for.

A more aesthetical note: We should really get rid of the ugly table/CSS layout 
mixture, the lower part of the page renders a bit ugly and varies between 
browsers. Switching to pure CSS should be safe in 2007, I guess.

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-09 Thread Andrew Coppin

Sven Panne wrote:

On Sunday 09 September 2007 16:40, Andrew Coppin wrote:
  

1. Would it be possible to make the *huge* list of package names at the
top collapsable? (That way I don't have to scroll through several pages
of uninteresting text to get to the bit I actually want.)



What do you mean exactly with the *huge* list of package names? The 
description list with the short textual descriptions of each package? I'd say 
that this list is highly interesting to people unfamiliar with the package 
structure, so it is good that it is there.
  


Well, if I could collapse it with a single click, it would be much 
easier to scroll past it and get to the thing I'm looking for. I didn't 
say remove it, just give me the option to hide it. ;-)



2. Could we make is so all items are collapsed initially? (Currently
they're all expended initially - which makes it take rather a long time
to find anything.)



Again this depends on the use case: I'd vote strongly against collapsing the 
list initially, because that way the incremental search in Firefox won't work 
without un-collapsing everything.
  


Oh goodie... So it's there to keep the machines happy?

It's just tedious that every single time I load up this page, I have to 
spend 30 seconds manually collapsing everything so I can get to the 
module I actually want to look at. (The alternative is to manually 
scroll the 13-page list my hand. Not very funny...)


OK, so... can we add a pair of expand all/collapse all buttons then?

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


Re: [Haskell-cafe] Tiny documentation request

2007-09-09 Thread Neil Mitchell
Hi

 I have the following page bookmarked:

   http://haskell.org/ghc/docs/latest/html/libraries/

Just bookmark: http://haskell.org/hoogle

It's not perfect, but it probably solves lots of your problems.

 A tip is to use Firefox's search as you type feature if you know the
 module name.

This will be better supported in Hoogle 4 - but unfortunately degrees
etc. are coming in the way of Hoogle development...

 A more aesthetical note: We should really get rid of the ugly table/CSS layout
 mixture, the lower part of the page renders a bit ugly and varies between
 browsers. Switching to pure CSS should be safe in 2007, I guess.

Replicating actual tables with CSS is a nightmare - you shouldn't use
table's for lots of things, but there are sometimes when it really is
the best option. Fixing up the CSS and still keeping tables is a
perfectly valid option.

Thanks

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


Re: [Haskell-cafe] Text.XHtml Documentation

2007-07-29 Thread Henk-Jan van Tuyl


You can often find old webpages at web.archive.org:
  
http://web.archive.org/web/20070406145557/http://www.cse.ogi.edu/~andy/html/intro.htm

Searching, with part of the text, revealed that you can also find this  
page at:

  
http://search.cpan.org/src/AUTRIJUS/Language-Haskell-0.01/hugs98-Nov2003/fptools/hslibs/text/html/doc/doc.htm


--
Met vriendelijke groet,
Henk-Jan van Tuyl


--
http://functor.bamikanarie.com
http://Van.Tuyl.eu/
--

On Sat, 28 Jul 2007 08:01:35 +0200, Dean Herington  
[EMAIL PROTECTED] wrote:


The Haddock documentation for Text.XHtml (at   
http://www.haskell.org/ghc/docs/latest/html/libraries/xhtml/Text-XHtml.html)  
 refers to
http://www.cse.ogi.edu/~andy/html/intro.htm, but that link is broken.   
Does anyone know where to find the intended document?


On Sun, 29 Jul 2007 17:14:24 +0200, David F. Place [EMAIL PROTECTED] wrote:


Hello:

I was just looking into using Text.XHtml for a project.  The Haddock  
documentation points to an introduction by Andy Gill, but the link is  
broken.   Can anyone point me to the correct location of the  
introduction?  Thanks.


Cheers, David

   ___
(---o---o-o-o---o-o-o(
David F. Place
mailto:[EMAIL PROTECTED]


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


Re: [Haskell-cafe] NDP documentation

2007-07-25 Thread Manuel M T Chakravarty

Andrew,
Actually, I was just reading through all the Data Parallel Haskell and 
Nested Data Parallelism documentation. It says in several places that 
parallel array comprehensions are available since GHC 6.6, but they are 
broken; please use the development versions; this will be fixed in GHC 
6.6.1.


Can anybody clarify - was this actually fixed? (And shouldn't somebody 
update the Wiki?)
Yes, the problems were fixed in 6.6.1 as promised.  I just 
forgot to update the wiki when 6.6.1 was released (now done).


Thanks for the reminder.

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


Re: [Haskell-cafe] NDP documentation

2007-07-25 Thread Andrew Coppin

Bulat Ziganshin wrote:

Hello Andrew,

Monday, July 23, 2007, 11:50:32 PM, you wrote:

  

Actually, I was just reading through all the Data Parallel Haskell and
Nested Data Parallelism documentation. It says in several places that 
parallel array comprehensions are available since GHC 6.6, but they are

broken; please use the development versions; this will be fixed in GHC
6.6.1.



parallel arrays (GHC.PArr) was implemented at least in ghc 6.4 and my
program using it was worked fine with 6.4.*, 6.6 and 6.6.1 now. but i
don't use comprehensions, only !: operator
  


To my utter frustration, Thunderbird is once again refusing to download 
the message I actually want to reply to, but anyway...



Acording to the wiki, the parallel array stuff has two halves. First, 
there's the parallel array library that does all the good stuff, and 
then there's a seperate library that gives you all the nice syntax 
sugar. (I.e., parallel array comprehensions.) Automatic transformation 
from one to the other is not yet implemented. So at the moment, you can 
try out the neat new syntax - but it won't actually run in parallel - or 
you can play with the low-level stuff.


The wiki also says that the parallel array comprehensions are buggy in 
GHC 6.6, and you should use HEAD until GHC 6.6.1 comes out. Well, 6.6.1 
*is* out now, so I'm wondering if somebody should change the information 
on the wiki?


Also, while I'm here... Why hasn't the automatic conversion been done 
yet? Is it because nobody has had time, or is it because there's an 
actual problem?


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


Re: [Haskell-cafe] NDP documentation

2007-07-23 Thread Bulat Ziganshin
Hello Andrew,

Monday, July 23, 2007, 11:50:32 PM, you wrote:

 Actually, I was just reading through all the Data Parallel Haskell and
 Nested Data Parallelism documentation. It says in several places that 
 parallel array comprehensions are available since GHC 6.6, but they are
 broken; please use the development versions; this will be fixed in GHC
 6.6.1.

parallel arrays (GHC.PArr) was implemented at least in ghc 6.4 and my
program using it was worked fine with 6.4.*, 6.6 and 6.6.1 now. but i
don't use comprehensions, only !: operator

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

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


Re: [Haskell-cafe] Sparse documentation

2007-07-05 Thread Ian Lynagh

Hi Andrew,

On Wed, Jul 04, 2007 at 07:26:48PM +0100, Andrew Coppin wrote:
 
 Writing documentation for libraries is one way in which ordinary 
 Haskell users can really contribute to the Haskell community. It’s not 
 hard to do (grab the Darcs repo, type away), and it’s widely appreciated.
 
 How exactly do I get started?
 
 (Obviously I can't write the documentation for the monad transformers - 
 I don't know how they work yet! But I could have a go at splicing all 
 the Parsec goodness into the Haddoc pages...)

Get the latest source:

darcs get http://darcs.haskell.org/packages/parsec
cd parsec

Build the Cabal Setup program and configure the package:

ghc --make Setup
./Setup configure

Then actually update the documentation, in Text/ParserCombinators/...

Now run haddock:

./Setup haddock

and check that it looks reasonable. Open dist/doc/html/index.html in
your web browser and follow the relevant links.

It's probably also a good idea to check you haven't broken the code by
accident, i.e. test that it still builds:

./Setup build

If you are happy then record and send the patch:

darcs record
darcs send




If you think that the patch might be at all contentious then you should
follow the library submissions procedure instead of the last step:

http://www.haskell.org/haskellwiki/Library_submissions

but for just adding brief haddock docs that's probably overkill.




Thanks
Ian

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


RE: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Simon Peyton-Jones
| Fortunately, some kind soul has gone through and converted the
| documentation to haddock format:
| http://hackage.haskell.org/trac/ghc/ticket/1410
|
| So it'll all appear in the html docs in the next version. In the mean
| time one can look at the haddock comments in the source:
| http://darcs.haskell.org/packages/mtl/Control/Monad/

Furthermore, you can always get the GHC HEAD documentation here
http://www.haskell.org/ghc/dist/current/docs
From there you can get to Control.Monad, which indeed shows at least some 
documentation.

Simon

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


RE: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Simon Peyton-Jones
Writing documentation for libraries is one way in which ordinary Haskell users 
can really contribute to the Haskell community.  It's not hard to do (grab the 
Darcs repo, type away), and it's widely appreciated.

People often don't feel qualified do to this, but documentation written by an 
intelligent but unqualified person (perhaps including not sure what happens 
here) is a lot more useful than no documentation at all.  Yes I know that 
misleading documentation can be a Bad Thing but I think lack of documentation 
is a much bigger problem than misleading documentation, as of today.

Simon

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brent Yorgey
Sent: 03 July 2007 22:09
To: Andrew Coppin
Cc: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] Sparse documentation


It's also nice to have some brief comments in the API docs to say what
the heck a particular module is even *for*, and provide enough info on
the stuff in that module that you can quickly dip into it when you can't
remember the name of something...

I certainly don't disagree with you!  I was just commenting on the tendency of 
the community to document things in academic papers.  But I'm glad to hear from 
Duncan that better Haddock documentation will be in the next version of the 
libraries.

After many hours tying my brain in knots, I *think* I need to use a
monad transformer... but I've never ever done that before. So I'd like
to learn how it works.

Try http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html.  I found that 
paper very clear and helpful in learning to use monad transformers.  Then you 
will probably also want to read 
http://cale.yi.org/index.php/How_To_Use_Monad_Transformers.

-Brent

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


RE: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Michael T. Richter
On Wed, 2007-04-07 at 08:03 +0100, Simon Peyton-Jones wrote:

 | Fortunately, some kind soul has gone through and converted the
 | documentation to haddock format:
 | http://hackage.haskell.org/trac/ghc/ticket/1410
 |
 | So it'll all appear in the html docs in the next version. In the mean
 | time one can look at the haddock comments in the source:
 | http://darcs.haskell.org/packages/mtl/Control/Monad/
 
 Furthermore, you can always get the GHC HEAD documentation here
 http://www.haskell.org/ghc/dist/current/docs
 From there you can get to Control.Monad, which indeed shows at least some 
 documentation.


Simon, if the less-talented among us (like me) want to contribute to
GHC's docs -- and especially documenting the libraries -- what's the
best way to go about this?  I'm not too comfortable with the notion of
just going into GHC's guts and Haddocking the comments, contributing
patches willy-nilly because I'd not be certain I did the job right, that
I explained things correctly where I had to amplify, etc.  Is there some
kind of documentation team we poor souls could interact with to assist?

-- 
Michael T. Richter [EMAIL PROTECTED] (GoogleTalk:
[EMAIL PROTECTED])
When debugging, novices insert corrective code; experts remove defective
code. (Richard Pattis)


signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Jules Bean

Andrew Coppin wrote:
Essentially I want to run a parser on top of a parser, and I think maybe 
this is the way to do it.


I doubt monad transformers are the answer.

I imagine you just want to one run parser over the result of the 
previous, which is just function composition, modulo a sensible way of 
handling errors.


If you give more details on what you're trying, people may have helpful 
insights. Or not :)


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


Re: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Claus Reinke

Simon, if the less-talented among us (like me) want to contribute to
GHC's docs -- and especially documenting the libraries -- what's the
best way to go about this?  I'm not too comfortable with the notion of
just going into GHC's guts and Haddocking the comments, contributing
patches willy-nilly because I'd not be certain I did the job right, that
I explained things correctly where I had to amplify, etc.  Is there some
kind of documentation team we poor souls could interact with to assist?


there was the idea of using the wiki for developing documentation
improvements, prior to actually submitting the improved texts. the
only hint of that scheme i can find right now is:

http://www.haskell.org/haskellwiki/Improving_library_documentation

but establishing a documentation team to help organise the process
and to define a realistic workflow (how and where to edit, how and
who submits when its ready, how to avoid extra work due to 
working in different formats, ..) seems like a good idea. go for it!-)


claus

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


Re: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Andrew Coppin

Simon Peyton-Jones wrote:


Writing documentation for libraries is one way in which ordinary 
Haskell users can really contribute to the Haskell community. It’s not 
hard to do (grab the Darcs repo, type away), and it’s widely appreciated.


People often don’t feel “qualified” do to this, but documentation 
written by an intelligent but “unqualified” person (perhaps including 
“not sure what happens here”) is a lot more useful than no 
documentation at all. Yes I know that misleading documentation can be 
a Bad Thing but I think lack of documentation is a much bigger problem 
than misleading documentation, as of today.


Simon



How exactly do I get started?

(Obviously I can't write the documentation for the monad transformers - 
I don't know how they work yet! But I could have a go at splicing all 
the Parsec goodness into the Haddoc pages...)


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


Re: [Haskell-cafe] Sparse documentation

2007-07-04 Thread Andrew Coppin

Jules Bean wrote:

Andrew Coppin wrote:
Essentially I want to run a parser on top of a parser, and I think 
maybe this is the way to do it.


I doubt monad transformers are the answer.

I imagine you just want to one run parser over the result of the 
previous, which is just function composition, modulo a sensible way of 
handling errors.


If you give more details on what you're trying, people may have 
helpful insights. Or not :)


Yeah, running one parser on top of another isn't inherently hard. The 
*hard* thing is that I want to stack several parsers on top of each 
other, and *change* that stack at various points in the parsing.


After many hours of trying, I did eventually get working code. But 
*damn* it's complicated! (Especially the type signatures.) Hopefully 
I'll find a way to simplify it gradually...


As for asking here... I did, and nobody had anything interesting to say. :-(

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


Re: [Haskell-cafe] Sparse documentation

2007-07-03 Thread Brent Yorgey

Is there a reason why the documentation for virtually every module in
Control.Monad simply begins with a line that says

  Inspired by some paper (http://www.ogi.edu/csee/~mpj/)



It's probably because it was felt that the paper itself is better
documentation than anything that could be written in the comments.  Of
course, this may or may not be actually true.  It just seems to be a
particular quirk of the way the Haskell community generates, disseminates,
and consumes information.

Is there a particular module you're having trouble with?  Or just griping in
general? =)

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


Re: [Haskell-cafe] Sparse documentation

2007-07-03 Thread Tim Newsham

Is there a particular module you're having trouble with?  Or just griping in
general? =)


How about STM?  It would be nice if I didn't have to scan the paper each 
time I do something with STM.  Isn't that the point of having an API 
reference?



-Brent


Tim Newsham
http://www.thenewsh.com/~newsham/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Sparse documentation

2007-07-03 Thread Duncan Coutts
On Tue, 2007-07-03 at 15:11 -0400, Brent Yorgey wrote:
 
 Is there a reason why the documentation for virtually every
 module in
 Control.Monad simply begins with a line that says
 
   Inspired by some paper (http://www.ogi.edu/csee/~mpj/)
 
 It's probably because it was felt that the paper itself is better
 documentation than anything that could be written in the comments.  Of
 course, this may or may not be actually true.  It just seems to be a
 particular quirk of the way the Haskell community generates,
 disseminates, and consumes information. 

Actually, the code was documented in comments in the code, just not in
haddock format. :-(

Fortunately, some kind soul has gone through and converted the
documentation to haddock format:
http://hackage.haskell.org/trac/ghc/ticket/1410

So it'll all appear in the html docs in the next version. In the mean
time one can look at the haddock comments in the source:
http://darcs.haskell.org/packages/mtl/Control/Monad/

Duncan


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


  1   2   >