Cabal
2.0
1. Introduction
2. Configuration and Installing Packages
3. Package Concepts and Development
3.1. Quickstart
3.2. Package concepts
3.3. Developing packages
4. Reporting Bugs and Stability of Cabal Interfaces
5. Nix-style Local Builds
6. Nix Integration
Reference
Index
Cabal
Docs
»
3. Package Concepts and Development
View page source
3. Package Concepts and Development
¶
3.1. Quickstart
3.1.1. Using “cabal init”
3.1.2. Editing the .cabal file
3.1.3. Modules included in the package
3.1.4. Modules imported from other packages
3.1.5. Building the package
3.1.6. Next steps
3.2. Package concepts
3.2.1. The point of packages
3.2.2. Package names and versions
3.2.3. Kinds of package: Cabal vs GHC vs system
3.2.4. Unit of distribution
3.2.5. Explicit dependencies and automatic package management
3.2.6. Portability
3.3. Developing packages
3.3.1. Creating a package
3.3.2. Package descriptions
3.3.3. Custom setup scripts
3.3.4. Autogenerated modules
3.3.5. Accessing data files from package code
3.3.6. System-dependent parameters
3.3.7. Conditional compilation
3.3.8. More complex packages