Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Add support for Haskell #251

Open
evanrelf opened this issue Jan 24, 2019 · 10 comments
Open

Add support for Haskell #251

evanrelf opened this issue Jan 24, 2019 · 10 comments

Comments

@evanrelf
Copy link

It would be really cool if there was support for Haskell so that people could build their Hakyll static sites through Netlify!

@commandodev
Copy link

That would be very cool. Although I have to tell you @evanrelf that I've just switched from Hakyll to hugo and so far it seems to be better in almost every way (which makes me a bit sad as a haskeller) :-(

@evanrelf
Copy link
Author

evanrelf commented Jan 25, 2019 via email

@bcomnes
Copy link
Contributor

bcomnes commented Feb 1, 2019

This would make @biilmann happy :)

@JonathanReeve
Copy link

+1 for this, but for a different reason: I want to build a site with the static site generator Rib.

@srid
Copy link

srid commented Jan 22, 2020

Alternatively, add Nix support (so users can use whatever language including Haskell): #187

@justuswilhelm
Copy link

It doesn't look like this issue is getting a lot of love, and I remember a Netlify employee previously mentioning Haskell/Hakyll builds should be possible, so I shall say as well: +1

I've resorted to building it on CircleCI and then pushing to Netlify, but I don't get to take advantage of all the branch goodies Netlify has :)

And then, if I may say so, you have Erlang, but not Haskell? For Serum? If it's that, then: Hakyll probably has 10x more developers working with it.

@evanrelf
Copy link
Author

I personally now believe that adding Nix support is the right way to go. Once that's added, the entirety of Nixpkgs becomes available, making all other languages and tools available. Adding things piecemeal is a never-ending uphill battle.

@srid
Copy link

srid commented May 28, 2020

Nix support would also allow building neuron sites.

@justuswilhelm
Copy link

I personally now believe that adding Nix support is the right way to go. Once that's added, the entirety of Nixpkgs becomes available, making all other languages and tools available. Adding things piecemeal is a never-ending uphill battle.

I see your point and I also agree that adding nix despite the additional learning curve sounds like a good idea long term. The way both files Dockerfile and run-build.sh look like right now is a complete nightmare. On the other hand a way to do it could be by specifying custom docker files perhaps? Either way, just appending more and more packages/installers/setup scripts to a Dockerfile and/or run-build.sh will just deteriorate the build experience.

Looking at the recent addition of Swift (why Swift and Elixir, but not Haskell? 🤣 ) 1c486be makes it obvious that every time a language is added one more unskippable piece of code is added to the shell script that can easily add another 50-100 ms to build times. So once Netlify supports another 20 languages or build environments the build will be slowed down noticeably.

Because I'm not too familiar with Nix, one thing that I would be curious about is how to implement caching.

@srid
Copy link

srid commented May 29, 2020

Because I'm not too familiar with Nix, one thing that I would be curious about is how to implement caching.

For instant builds, you probably want to persist /nix between builds. Failing that, you can push to/ pull from a remote cache like cachix, but this will take substantial time fetching / pushing derivations.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants