Recently I’ve seen a few questions (a.k.a complaints) about how difficult is to set up a Haskell development environment. The paradox is that It isn’t difficult at all, and actually ghcup
home page makes a decent effort to get a comprehensive guide. So I decided to write a simple guide on markdown format. Hopefully this guide can help to improve current status.
contex
I’ve been helping some newcomers to get a Haskell environment up and running, so I know this instructions work in windows and linux (Haven’t tested MacOS but should be similar to linux) and also work for cabal and stack users. Although, the guide is cabal oriented (because stack integrates poorly with hls
). Also, I am using this guide to update the gitpod template for Haskell.
Problem with current status
I think the problem has roots in communication and misleading documentation.
Communication issues has been discussed in this very same place over the past few days.
I would like to point out about documentation. GHCup home page is good, but It has two major problems:
- It does not provide a clear, opinionated path to get things up and running.
- it is too long
In general what I’ve seen can be summarize in: “At least with python I can download pycharm and that’s it”. Most newcomers I’ve attended have either a python or javascript background (or they are students using laboratory machines with everything already prepared). For these two languages all you need to do is literally install pycharm or vscode. Many of them don’t know what a language server is because they all used to one-tool-solves-all, they don’t give a ***** for unix-philosophy and they just want to follow some step by step guide reading the least possible text. Clearly ghcup
documentation do not hold this (which I don’t think is bad, but I am just stating what I’ve found out)