← Back to context

Comment by faangguyindia

10 hours ago

Developer exercise is still lacking in Haskell ecosystem.

Slow build times, deployment to Linux when developing on macos still pain. Deployment is pain specially on commodity VPS.

Go is very easy to cross compile and deploy.

But Haskell is better for a few things, but I've hardtime deploying it

You can use the GHC musl container: benz0li/ghc-musl:9.8.4 to create static binaries. I've specialized that into -arm64 and -amd64 containers for forgejo actions.

Anytime I push to my Haskell repos my actions automatically create static binaries for installation on my nodes.

Cross compilation could definitely be easier :-/ I tend to just use github actions and compile from whatever architecture it should run on, so that's a workaround. I long for a day when I can just `cabal build --platform=amd64` etc. and it Just Works without having to download and compile a horde of foreign libs or set up a vm

> Deployment is pain specially on commodity VPS.

Oh? Why is that?

  • I can only think of memory usage during compilation. That’s why I had to precompile binaries, which means cross-compile. Then if you add cross-OS, bundling a properly linked or statically linked binary is not that easy.