Haskell, Hackage, GHC and Performance. What to do?

Over the course of the year, it seems to me that I was a newcomer to haskeller (a "haskeller rookie" forever). I have encoded small haskell programs (for example, a very simple snake game), but package dependencies and failed ghc versions are hard for me when I have to use certain libraries.

Choosing the right ghc version is an art, I think.

Too new and libraries fail (for example, Yesod has been updated to 7.4 recently, grapefruit-ui-gtk does not currently work).

Too old and libraries are outdated and still not supported.

HackageDB and its developers are fantastic, but I feel awkward and don't know how to properly develop a serious program.

What should I do? Am I too inexperienced? Is the hard way the only way?

(Sorry if the question is too general)

+7
source share
2 answers

Stick to the Haskell platform .

There is a standardization for stable release of GHC for every 6-month period, so you do not need to guess which GHC to use.

+8
source

I do not think that the problem you described has anything to do with inexperience. This is just what happens. Some suggestions:

As a general rule, do not upgrade your Haskell (or ghc) platform until you find out that all the packages you rely on support the new version. You can run several versions of the platform side by side if you want them to be the latest and greatest, but for some things you also need to use the old version.

Contact your maintainer and ask when they update the package. Nine times out of ten, all they need to do is modify the cabal file, recompile and reload. To find your email address, search for hackers for the package name and find the word "Maintainer" in the banner.

As a dirty workaround: you can try changing the cabal file yourself (Tack to ".1" to the end of the version number to prevent version conflicts and update the required version number for the database), and then see if it is compiled. I did this successfully several times, and then sent an update to the maintainer using GitHub or whatever they use.

+5
source

All Articles