Live data from Hacker News

Haskell Packages for Development

wunki.org

1–10 of 20 posts

Re: Haskell Packages for Development

#4
Of course, when I last tried installing stylish-haskell (last week), it insisted on taking non-compatible/broken dependencies. Yes, on a clean environment.

When I learn more Haskell, I may succeed to figuring out what's wrong.

Re: Haskell Packages for Development

#5
post #4

Of course, when I last tried installing stylish-haskell (last week), it insisted on taking non-compatible/broken dependencies. Yes, on a clean environment. When I learn more Haskell, I may succeed to figuring out what's wrong.

The package management story in Haskell, I don't want to say broken, is just too complicated for beginners, err actually everyone.

For instance, to install stylish-haskell you will ultimately need the "happy" executable, but cabal is not smart enough to get it for you.

I don't know what a "clean" environment means, nor do I know what you mean by "broken dependencies." Did you:

    mkdir stylish-sandbox
    cd stylish-sandbox
    cabal update 
    cabal sandbox init 
    cabal install happy stylish-haskell 
    cabal copy
    cd ..
    rm -r stylish-sandbox
That might work.

Re: Haskell Packages for Development

#8
post #6

It still takes a long time when sandboxing if you're on a project using yesod and you get to re-build the entire dependency set for each project.

Sandboxing is merely a stop-gap to reproducible builds (I hope). Nix style multiple instances of the same version of an installed package will lead to better reuse, thus faster builds.

If the fingerprints can be made precise enough, binary caches can be distributed from trusted parties, similar to what other package managers do.

Re: Haskell Packages for Development

#9

Greg Weber gave an awesome talk at BayHac 2014 on just this subject. https://docs.google.com/presentation/d/1suMuLRo1xS5NxWn-L9lG...

Any chance there's a video of that talk?

The videos for BayHac 2014 have not been (officially) released.

Re: Haskell Packages for Development

#10
post #6

It still takes a long time when sandboxing if you're on a project using yesod and you get to re-build the entire dependency set for each project.

Sandboxing is merely a stop-gap to reproducible builds (I hope). Nix style multiple instances of the same version of an installed package will lead to better reuse, thus faster builds. If the fingerprints can be made precise enough, binary caches can be distributed from trusted parties, similar to what other package managers do.

Hopefully we can also get real module interfaces[0] in the not-too-distant future so we can at least lessen some of the spurious diamond dependency problems that tend to crop up once in a while.

[0] http://plv.mpi-sws.org/backpack/

Post reply on HN