Cabal
2.4.0.1
  • 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
  • 7. Cabal file format changelog
Reference Index
Cabal
  • Docs »
  • 3. Package Concepts and Development
  • Edit on GitHub

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
Next Previous

© Copyright 2003-2017, Cabal Team.

Built with Sphinx using a theme provided by Read the Docs.