4 ms·
> It appears that the intent is to focus on pain points in the Haskell toolchain and libraries. Good. I set myself the challenge of compiling a Haskell program
by pbowyer 6y ago
> It appears that the intent is to focus on pain points in the Haskell toolchain and libraries.
Good. I set myself the challenge of compiling a Haskell program [1] during the Christmas holidays. It was meant to be a "one mince pie" challenge, but after an hour I discovered the VM I used didn't have enough RAM (during compilation we were approaching 4GB), then I ran out of disk space as stack approaches 5GB & I had other stuff installed. Once a few hours had gone by (this program isn't fast to compile) I had a working program. I now have to figure out if I can distribute just the resulting binary to other servers, or if it needs other software like GHC installing. Having finished the pack of mince pies, that can wait to another day.
I know when I first started compiling C/C++ software there was a learning curve and it took hours the first time, but I found it easier to get started. With Haskell, the way one version of GHC is installed first and then Stack installs a completely isolated version is confusing; plus the inscrutable error messages (haven't got it to hand, but one means OOM but doesn't say that - it takes a Google to find the GitHub issue to work that out).
And this is before I try and experiment/decide to learn some Haskell. Apart from the error messages they're not issues with Haskell per se, but they contribute to the experience of it.
1. https://github.com/facebook/duckling https://github.com/facebook/duckling
- smadge 6y agoI upgraded my personal VPS from 1GB to 2GB RAM when I couldn't compile some Haskell standard library modules for a simple project.
- mrkeen 6y agoWhen I started, I took the command I used for compiling c programs and substituted a letter. gcc -Wall -O3 -o ./main main.c ghc -Wall -O3 -o ./main main.hs I still compile that way every now and then.
- pbowyer 6y agoGood to know, thanks. The README says to use stack, so I've stuck with that so far. I'll look for instructions for using ghc