On hackage, wikis and libraries documentation

@kanishka said in a different thread:

If the documentation and tutorials are very thorough for each library and each library presents a gradual path for haskell beginners to haskell experts to make use of the library without having to read the source code or understand all the advanced aspects of haskell to start being productive

Which reminded me of how unfriendly hackage looked like when I started writing Haskell:

There’s sometimes a note before everything else, but sometimes all the text is below the modules hierarchy and is kind of skewed to the right as if it was a quote (it is indeed quoting the README…), as if it didn’t quite belong to the documentation. Sometimes there’s no text at all!
OK, so I’d then click on the modules and be confronted with types (lots of them) and often small and succinct descriptions. Sometimes the “main” (for some definition of main) module had a bigger description covering the library. Sometimes libraries have good usage examples.

This is no longer what I feel. If I find a library in hackage I’ll read the package description and README if they exist, then jump on to the modules – I know where to go and what to do.

Ironically, now that I have the ability to change/argue that first experience, I technically no longer have that need.

I hadn’t given any though until now: I do want to change that experience! (Then again, was it only me? I’m bringing this up so do speak up)


I want to ask: what’s being worked on by the community regarding friendlier introductions to things in general, and libraries in specific?


Some of my thoughts: (note that it’s quite possible I’m not seeing bigger pictures, previous attempts, etc, so read my opinionated opinions knowing I’m not writing absolute truths, but rather commenting on what I see from the surface)

When searching for a library to do X in Haskell, it’s common for me to get an outdated Haskell wiki page mentioning a few abandoned alternatives. Why try to maintain curated content on ever changing resources? Wouldn’t a better “search engine” indexing better (structured) documented packages (perhaps even making community contributions easy!) be a more maintainable solution?

By structured I mean standardising/defining/outlining the information that’s usually in the wiki and making it part of the package (the same kind of structured information, but so that it’s maintained separately from the wiki and close to the package)

And by community contributions I still mean for each package to maintain their own “wiki entry”, but having it easy for contributors to suggest information for the package description, examples for methods, etc

Summarising: Would it be better to decentralize the Haskell wiki parts regarding packages and have each package owning its structured documentation, and having a better “search engine” putting together separate package entries into something that would resemble the original wiki page?

On hackage specifically:
What are the thoughts on having this structured documentation idea that brings the good bits of the libraries wikis and as suggested by @kanishka maybe a structured/standard approach to incremental documentation?

I think I might’ve let the “pen” run too free… ahaha :slight_smile:

3 Likes

For your perusal:

…they’re less than a year old - considering what else we’ve had to contend with, they should still be relevant.

3 Likes

Alright! The threads read nicely (and are relevant!)

My next question is for @Kleidukos:

How is the documentation task force?

@romes that is a very generic question, I don’t know if I can provide a meaningful answer. If you have a more precise question that would be great. :slight_smile:

Oh! Of course, where is the work being done? Can you link me to some projects overseen by you et all?

I want to see if there’s something I can help with. I also want to know if there’s a first prototype website where things are being moved where people could start contributing information. I’d like to discuss my ideas with the people doing work on this right now to help push it all forward.

Right now there isn’t much activity. We have a branch in the Compiler Tooling Task Force and a couple of tutorials are being written.

If you want to come to us with a project of taking care of the wiki, you’re more than welcome.

Wouldn’t a better “search engine” indexing better (structured) documented packages (perhaps even making community contributions easy!) be a more maintainable solution?

Maybe it could interesting to have this in Flora.

And by community contributions I still mean for each package to maintain their own “wiki entry”, but having it easy for contributors to suggest information for the package description, examples for methods, etc

This sounds like we could use GitHub - theam/tintin: 📚 A softer alternative to Haddock with Haddock. It’s something to think about when Hi Haddock lands in GHC.

I want to see if there’s something I can help with

Well there is still the famous base documentation tracker.

At the moment we don’t have many library maintainers coming to us for help regarding documentation. This could change in the future but needs more workforce.

3 Likes

A simpler way to do this could be to link from hackage the appropriate page from Category:Libraries - HaskellWiki or Library - HaskellWiki (if it exists), and encourage use of the wiki by the community. Though then there’d be a fourth place where to look for an introduction to the library…