Re: Cabal install fails, don't understand why

Volker Wysk <[email protected]>
Newsgroups gmane.comp.lang.haskell.cafe
Message-ID <[email protected]>
Am Freitag, dem 29.03.2024 um 13:48 -0400 schrieb Brandon Allbery:
> 
> 
> On Fri, Mar 29, 2024 at 1:15 PM Volker Wysk <[email protected]> wrote:
> > > The proper way to work with libraries outside of a project is "cabal
> > > repl"
> > > or "stack ghci" as appropriate. For quick one-offs with cabal, you can
> > > use
> > > e.g. `cabal repl -b HsShellScript`. (I don't know the stack
> > > equivalent,
> > > sorry.)
> > 
> > What do you mean by "libraries outside of a project"? The library is one
> > project by itself. I don't (?) have any libraries outside of projects
> > (that
> > I know of).
> > 
> 
> 
> Cabal and stack are designed around the notion of projects, defined by a
> cabal file (or `package.yaml` if you use Hpack), `stack.yaml` for stack,
> optional `cabal.project` for cabal. Projects are sandboxed such that the
> package(s) in the project use consistent versions of all dependencies.
> 
> Neither tool handles use outside of a project well, although stack has a
> global configuration (whose use for this is deprecated iirc) and cabal
> uses ghc's environment files when requested. So something that isn't
> really intended for use as part of a project isn't well handled by either
> one.

Sounds complicated. I guess the best way to avoid trouble, is to do
everything in projects and avoid code outside of projects.
 
> The biggest problem with both stack's global configuration and cabal's use
> of environment files is the need for manual management when new versions
> of packages are released: neither tool currently gives you any way to
> manage either, and having multiple versions of a package in either invites
> trouble. I can't speak for stack, but cabal devs are aware of the problem
> and considering how best to deal with it (see for
> example https://github.com/haskell/cabal/issues/9581).

You mean when you have code outside of projects, I guess. Multiple versions
should be easily managed by cabal (or stack, which I don't know).

I'm willing to subject myself to the way to do it, which is predefined by
cabal (or stack), when in return, it all works without much hassle. I want
to write code, not fight with the package management system.

Happy hacking,
Volker
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.