Introducing: Hask Anything!

By Beerend Lauwers

(As originally posted on Reddit.)

I am proud to announce the alphaalphaalpha release of Hask Anything, a website aimed at collecting and organizing the collective knowledge of the Haskell community: papers, blog posts, code snippets, gists, StackOverflow answers, Reddit threads, presentations, videos, tutorials and so on.

It’s based on Hakyll and hosted on Github, and my goal is to have it be entirely community-driven.

What can the community do?

Everything, really! We need people to:

Test the site functionality

I haven’t even tested this thing on mobile browsers yet. There’s probably a whole bunch of problems still lurking in the website content submission forms.

Add content

Yes, you can submit content straight from the website! For example:

You can also submit content via Github itself, of course.

Contribute code

The Github issue list has bunch of issues tagged with newcomer. Be sure to have a look at the site “documentation”.


Q: Holy crap, this thing looks hacked together.

A: First off, that’s not a question. Secondly, yes. It is very much hacked together. I actually started work on it more than a year ago. Seeing other knowledge repositories pop up (shout-out to haskell-lang’s documentation and School of Haskell) kept rekindling the fire, and real life kept stomping it out.

I was never going to get this site to the standard that I wanted to uphold at this speed, so I made a decision: even in this alpha state, I would release it and build it out together with the Haskell community.

Q: So, what exactly do you expect this site to become?

A: The main problem I see in the Haskell community is knowledge discoverability. There are already excellent sources of knowledge: the Haskell wiki, excellent blogs, conference presentations on Youtube, Reddit and StackOverflow discussions… But we have no way of traversing that knowledge, no way of filtering it.

That’s what Hask Anything! is about: collecting and organizing the collective knowledge of the Haskell community.

Q: Can’t I just post a tutorial directly on here?

A: Yes. I mean, not yet because there’s no tutorial category right now, but that’s on the to-do list.

But yes, becoming a source of knowledge is also on the roadmap.

Q: Okay, so what can I do?

A: As I mentioned before, you can add content and contribute code. I’ve seeded the Github issue list with a bunch of stuff that people can take on. There are a few relatively simple ones, which I have tagged with newcomer. Issues tagged with Priority 1 are blockers for a bunch of other issues or just very important aspects of the site that still need to be implemented.

Q: How does the online content contribution work?

A: You select a category, fill in the forms (or have some of them automatically filled in via an API lookup) and submit it as a pull request to Github. Oh, you need to log in via OAuth to do that first, of course.

Then, the pull request is reviewed and merged by the review committee (Currently, me). We need to do manual reviews to:

  1. prevent malicious stuff to be introduced, and
  2. ensure that we have the approval of authors to replicate their work on the site (if applicable).

Q: Where did you get the name from?

A: /u/dagit had some threads with the same title: