haskell / haskell/cabal-userguide

New To Cabal - Adding dependencies

Open
#17 0 comments 0 reactions 0 assignees View on GitHub
New Chapter New To Cabal
Dominant language
Nix
Stars
29
Forks
5
PR merge metrics
No merged PRs in 30d

Description

file to edit: https://github.com/haskell/cabal-userguide/blob/main/src/new_to_cabal/08_adding_dependencies.md

## Brief Summary

This is a very important chapter as it will introduce new users to one of the primary use cases of cabal, bringing in external libraries. This should go over all 3 ways of adding dependencies:
- Local packages
- Hackage packages
- Packages as tarballs

There should be some discussion of version bounds, their syntax and semantics, and strategies for organizing version bounds.

## Prior Art

[Kowainik Blog adding a dependency](https://kowainik.github.io/posts/2018-06-21-haskell-build-tools#adding-dependency-in-the-.cabal-file)
[Haskell School adding a dependency](https://schooloffp.co/2020/08/17/whirlwind-tour-of-cabal-for-beginners.html#adding-dependencies)

## Resources

[Matt Parson's blog post on version bounding](https://www.parsonsmatt.org/2020/05/07/on_pvp_restrictive_bounds.html)
[Old cabal user guide adding dependencies](https://cabal.readthedocs.io/en/3.4/getting-started.html#adding-dependencies)
[Old cabal user guide build depends](https://cabal.readthedocs.io/en/3.4/developing-packages.html#modules-imported-from-other-packages)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.