RFC: Haskell-in-Production Experience Reports

Sorry to just randomly respond, but try to do the reports in private initially. People at companies will feel much less hesitant to publish to a limited audience versus a public report. You can help the companies improve the drafts until they feel ready to publish them on the internet. It’s a much smaller ask to have someone record a short video or audio call about how using haskell is going, that will be shared with a private group, than asking a company to produce a report that will face the full internet and is polished enough to match the company brand, etc.

I will update or fix my comments above after I get time to read the rest of the discussion thread, if what I stated was redundant or off topic.

1 Like

I think my use of defeatism of incorrect. I am specifically writing this in order to alleviate feelings of fear that I believe completely rational and trying to move towards a world in which such fear would not be rational. I don’t know what word other than “fear” or “apprehension” fits that description - happy for a better suggestion…

I would love to hear the stories of those who had Haskell tank on them in production. Unfortunately, I think that would be hard to host as an explicit audience and it’s unclear whether the HF should be doing work that specifically augments the voices of those who dislike Haskell today (also it would be harder to recruit these people for thoughtful opinions, I expect). I won’t be silencing anyone with dissent: the reports will be written by anyone with experience with Haskell in production - good or bad; but I would love to hear a way to host bad experiences as a specific target.

A great idea! To be clear to anyone considering being amongst the first authors: we will do this on your terms; besides tone and format, the way in which this is released regarding anonymity/platform/timeline are up for debate. I would be more than happy for the first article to be totally anonymous or only released in private if that is what you want, as much as the opposite is preferable.

3 Likes

…it’s now 6 years old, so its current relevance is a judgement I’ll leave to those who are more knowledgable:

While not technically a "tanked in production" story, it may still be informative:

https://web.archive.org/web/20200815141321/https://www.alsonkemp.com/haskell/reflections-on-leaving-haskell

1 Like

I disagree rather strongly. It’s just that a lot of feedback is not very actionable. The one that’s actionable usually causes controversial discussions (e.g. minimizing the options we present to new users) or simply needs a lot of work (e.g. getting tooling into the windows store).

Not many people have contributed PRs to the download page or the ghcup landing page or pointed out an exact vision about how to improve those.

Positive feedback often goes under, such as:

ic.rbow: I just finished purging previous installation from windows and did a fresh ghcup install. And everything worked from the get go! Thanks everyone involved in pulling the windows support out if the mud.

In the link you posted I described what I think are the 3 main actionable points:

  1. a Haskell playground, which is actually WIP (thanks to @tomsmeding …you can try the beta here)
  2. unified installation on all platforms (this is done)
  3. Making https://www.haskell.org/documentation actually useful …please talk to @tomjaguarpaw or @Kleidukos if you have concrete ideas
4 Likes

It works very well - but on my Google Chrome it’s not a secure web site, https.

Indeed, hence WIP. There’s a boatload of stuff still to do, and https is one of them (though an easy one). :slight_smile:

@tomjaguarpaw @Kleidukos Re Documentation, I really like the idea of having a canonical documentation page to orient people when getting started. Here are some of my own thoughts on what could be improvements. (You’ve probably thought about this much more carefully than me, so please feel free to disregard if these seem silly, or addressing the wrong issues).

The page is currently divided into sections like Courses, Tutorials, etc, which are useful, but potentially overwhelming to a beginner. An alternative layout would be to have the page divided into Beginner resources and Intermediate ones. I also think it would be nice to have fewer links (or rather, a few links that are emphasized, and the rest shown optionally), and more generally to have a clear single narrative of what they should do to get started. Here’s a rough draft of what I’m thinking:

Resources for Newcomers

CIS194: (brief description, link)
Other courses (click to display)

Learn You a Haskell is a community favorite. There’s also an interactive version
Other books (click to display)

Tooling

How to set up HLS with VSCode.
Something like Haskeleton that shows how to set up a new Haskell project (introducing stack/cabal on route)

Documentation

A single link to a nice explanation of Hackage, Haddock (focusing on how to read docs)
A single link to an explanation of Hoogle, with a nice example (perhaps recommending the VSCode hoogle extension)

Resources for Intermediate Haskellers

A detailed survey of important language concepts and features: (link to What I Wish I Knew When I Learned Haskell)

What libraries should I use?

Online resource: State of the ecosystem: post-rfc/sotu.md at main · Gabriel439/post-rfc · GitHub
Book: Haskell (Almost) Standard Libraries

Core Topics

Parallel and Concurrent Haskell
Developing Web Applications with Haskell and Yesod
some others…


I think endorsing VSCode with HLS is a great way to make Haskell more beginner friendly. Of course, other tooling options could be mentioned, but I think this one should be highlighted.

The one other thing is that a huge part of how I learned Haskell is from blog posts. It would be nice to have some kind of overview of community-endorsed good blog articles, or a monthly chosen article to highlight. Something like the following could go on the documentation page: “Haskell has a rich user. Here are some examples of blog posts about Haskell concepts and their applications (links…).”

Finally, it would be nice if this documentation page was linked more prominently from the front page.

tldr: I feel like less is more when it comes to pages like this, even at the risk of dropping potentially useful info.

5 Likes

Sorry, I did not mean to imply that no feedback was being acted on.

I guess I was primarily referring to a bit of consistent, long-running, feedback we’ve seen time and time again - that the “onboarding story” (our documentation and guidance provided to “get started with Haskell”) is insufficient, vague, and indifferent in ways that leave new haskellers wondering what to do. I think that also leads to giving up on haskell prematurely.

I agree that feedback can be difficult to take action on.

However, we can see that the problem is not just a lack of motivated people or a lack of good ideas or too much non-actionable feedback - motivated people have put in the sweat to make significant improvements, but have been blocked from landing those improvements on haskell.org.

I’m sure there are other examples of this, but the most prominent example I know of is Chris Done’s attempts to improve haskell.org, and which eventually led to haskell-lang.org (which has since been taken down). While haskell veterans might choose to do things their own way (and may disagree with what was presented on haskell-lang.org), veterans don’t need to be onboarded - Chris’ work was amazing because it focused on making the onboarding story the site’s primary deliverable, and he did so while recognizing that as a veteran, he would be leading new haskellers on a path. Further, he took ownership over defining that path with intention, and focused on increasing the newb’s chances of success in adopting haskell for their purposes.

Given all the effort that someone like Chris Done has invested, I don’t understand how haskell.org does not present an authoritative, intentional, or cohesive onboarding story, and I disagree that it’s simply a case of not enough motivation/hands/actionable feedback.

1 Like

The only recent one I know is https://github.com/haskell-infra/www.haskell.org/pull/88 and I can assure you that I would strongly push for merging that if I were on the haskell.org committee.

Otherwise I’ve had success rewriting the downloads page, despite controversial changes, see: Redo the entire download page, fixes #12 by hasufell · Pull Request #71 · haskell-infra/www.haskell.org · GitHub.

So I don’t think the picture paints itself as grim as you suggest.

I’m quite certain the reason for haskell-lang.org wasn’t simply that no one cared about improving haskell.org, but that certain marketing ideas were behind it. So I probably have a very different opinion on that venture.

But I think it’s time to let go of the past and make radical changes to our landing pages that focus on improving newcomer experience in a community driven way, without political agendas or companies using that as a marketing platform.

There’s nothing “grim” about what I’ve said, I’m pointing out the issues are not as simple as you’ve described as not enough motivated volunteers or too much non-actionable feedback.

I’ve never suggested “no one cares about improving haskell.org”. I said that motivated people who worked hard to make meaningful and significant improvements were blocked.

I’m not familiar with whatever “marketing ideas” you are referring to, and while I can imagine there being some disagreement on small things, I have a difficult time believing the whole effort was blocked due to some unsolvable marketing disagreement. Regardless of that, removing all opinions on people involved or whatever, my point was that while the haskell-lang.org site was a significant measurable improvement for our onboarding experience, the haskell.org committee effectively blocked that contribution and were unable to work out their differences to ensure this improvement landed in some meaningful form.

https://web.archive.org/web/20170617000509/https://haskell-lang.org/

In addition, the Commercial Haskell group provides a forum for commercial users to get help and collaborate on projects. Large suppliers of commercial support, like FP Complete, are available to help you succeed, as well as a large number of individual consultants.

@ketzacoatl’s complaints inspired me to add a “First steps” guide from the unmerged haskell.org PR: First steps - GHCup

2 Likes

Thanks. The more “battle tested” onboarding information is the more convincing the case to add it to haskell.org.

@reuben, this is fantastic, thanks for sharing! Would you like to be involved in putting improvements to the Haskell.org site into action?

I certainly think there’s scope for an opinionated guide to getting started with Haskell on the Haskell.org site.

1 Like

Thanks, and yeah, I’d be interested! I can’t offer any web design expertise, but could definitely flesh out what I sketched above into an actual document, for example, or help with other things.

2 Likes

Great! Could you introduce yourself at Discussions · haskell-infra/www.haskell.org · GitHub with a link back to this conversation? It would help me keep track of your interest.

I think this is a great idea, thanks for taking it on! I’ll get you in touch with someone at Standard Chartered.

4 Likes

I’m surprised no one mentioned it, but HF conducted series of interviews with industrial developers last year, discussing their experience and pain points. They were not made public (and were not supposed to, I believe).

2 Likes

That seems like it could very much be relevant! Perhaps @myShoggoth or @david-christiansen could comment on how those interviews went?

Small update: I am in contact with Standard Chartered and now have 70% of a first draft of the experience of my imagined ACME corp which I will be working on with them…

The offer for others to get involved is still very much open - it would be good to have 4/5 articles to start so we don’t get stuck in a dry spell until at least a number of reports are out there.

1 Like