Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Working with multiple projects

For non trivial projects is commonly split it in several packages (in particular, I work usually with Visual Studio C# solutions containing 1-10 projects).

My current Haskell workflow is perform cabal clean && cabal configure && cabal install --force-reinstall for each time I modify some package that is used in another one.

That's works fine but I wish work with several Haskell projects as if only one be (ideally if A and B projects was modified then using ghci A detect changes on B).

The proposed solution (if possible) should work fine too if certain package A (in development) is shared in several "workspaces".

I looked for, but the unique related response (Haskell Cafe, Working with multiple projects 2009) suggest my current workflow as solution.

Any tutorial explaining it (workspaces, shared "in development" packages, ...) will be welcome!

Thanks a lot!!! :)

(I'm working with ghc)

like image 405
josejuan Avatar asked Jun 15 '13 14:06

josejuan


1 Answers

So, basically you can use cabal-dev to make a local sandbox of the packages you want to use for a given project. This is will stop different projects that may have conflicting package requirements from mucking every thing up.

Here is a good post on reddit explaining the basics.

http://www.reddit.com/r/haskell/comments/f3ykj/psa_use_cabaldev_to_solve_dependency_problems/

like image 104
DiegoNolan Avatar answered Oct 14 '22 01:10

DiegoNolan