hpack-0.34.6: A modern format for Haskell packages

Safe Haskell | None
Language | Haskell2010

Hpack

Contents

- Version
- Running Hpack
- Options

Synopsis

- version :: Version
- hpack :: Verbose -> Options -> IO ()
- hpackResult :: Options -> IO Result
- printResult :: Verbose -> Result -> IO ()
- data Result = Result {
  - resultWarnings :: [String]
  - resultCabalFile :: String
  - resultStatus :: Status
  }
- data Status
  - = Generated
  - | ExistingCabalFileWasModifiedManually
  - | AlreadyGeneratedByNewerHpack
  - | OutputUnchanged
- defaultOptions :: Options
- setProgramName :: ProgramName -> Options -> Options
- setTarget :: FilePath -> Options -> Options
- setDecode :: (FilePath -> IO (Either String ([String], Value))) -> Options -> Options
- getOptions :: FilePath -> [String] -> IO (Maybe (Verbose, Options))
- data Verbose
  - = Verbose
  - | NoVerbose
- data Options = Options {
  - optionsDecodeOptions :: DecodeOptions
  - optionsForce :: Force
  - optionsGenerateHashStrategy :: GenerateHashStrategy
  - optionsToStdout :: Bool
  }
- data Force
  - = Force
  - | NoForce
- data GenerateHashStrategy
  - = ForceHash
  - | ForceNoHash
  - | PreferHash
  - | PreferNoHash

# Documentation

NOTE: This module is exposed to allow integration of Hpack into other tools. It is not meant for general use by end users. The following caveats apply:

- The API is undocumented, consult the source instead.
- The exposed types and functions primarily serve Hpack's own needs, not that of a public API. Breaking changes can happen as Hpack evolves.

As an Hpack user you either want to use the `hpack` executable or a build tool that supports Hpack (e.g. `stack` or `cabal2nix`).

# Version

version :: Version #

# Running Hpack

hpack :: Verbose -> Options -> IO () #

hpackResult :: Options -> IO Result #

printResult :: Verbose -> Result -> IO () #

data Result #

Constructors

Result |
Fields resultWarnings :: [String] resultCabalFile :: String resultStatus :: Status

#### Instances

Instances details

Eq Result # |
Instance details Defined in Hpack Methods (==) :: Result -> Result -> Bool # (/=) :: Result -> Result -> Bool #
Show Result # |
Instance details Defined in Hpack Methods showsPrec :: Int -> Result -> ShowS # show :: Result -> String # showList :: [Result] -> ShowS #

data Status #

Constructors

Generated |
ExistingCabalFileWasModifiedManually |
AlreadyGeneratedByNewerHpack |
OutputUnchanged |

#### Instances

Instances details

Eq Status # |
Instance details Defined in Hpack Methods (==) :: Status -> Status -> Bool # (/=) :: Status -> Status -> Bool #
Show Status # |
Instance details Defined in Hpack Methods showsPrec :: Int -> Status -> ShowS # show :: Status -> String # showList :: [Status] -> ShowS #

# Options

defaultOptions :: Options #

setProgramName :: ProgramName -> Options -> Options #

setTarget :: FilePath -> Options -> Options #

setDecode :: (FilePath -> IO (Either String ([String], Value))) -> Options -> Options #

getOptions :: FilePath -> [String] -> IO (Maybe (Verbose, Options)) #

data Verbose #

Constructors

Verbose |
NoVerbose |

#### Instances

Instances details

Eq Verbose # |
Instance details Defined in Hpack.Options Methods (==) :: Verbose -> Verbose -> Bool # (/=) :: Verbose -> Verbose -> Bool #
Show Verbose # |
Instance details Defined in Hpack.Options Methods showsPrec :: Int -> Verbose -> ShowS # show :: Verbose -> String # showList :: [Verbose] -> ShowS #

data Options #

Constructors

Options |
Fields optionsDecodeOptions :: DecodeOptions optionsForce :: Force optionsGenerateHashStrategy :: GenerateHashStrategy optionsToStdout :: Bool

data Force #

Constructors

Force |
NoForce |

#### Instances

Instances details

Eq Force # |
Instance details Defined in Hpack.Options Methods (==) :: Force -> Force -> Bool # (/=) :: Force -> Force -> Bool #
Show Force # |
Instance details Defined in Hpack.Options Methods showsPrec :: Int -> Force -> ShowS # show :: Force -> String # showList :: [Force] -> ShowS #

data GenerateHashStrategy #

Constructors

ForceHash |
ForceNoHash |
PreferHash |
PreferNoHash |

#### Instances

Instances details

Eq GenerateHashStrategy # |
Instance details Defined in Hpack Methods (==) :: GenerateHashStrategy -> GenerateHashStrategy -> Bool # (/=) :: GenerateHashStrategy -> GenerateHashStrategy -> Bool #
Show GenerateHashStrategy # |
Instance details Defined in Hpack Methods showsPrec :: Int -> GenerateHashStrategy -> ShowS # show :: GenerateHashStrategy -> String # showList :: [GenerateHashStrategy] -> ShowS #