-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | A modern format for Haskell packages
--   
--   See README at https://github.com/sol/hpack#readme
@package hpack
@version 0.34.2

module Hpack.Yaml
decodeYaml :: FilePath -> IO (Either String ([String], Value))
class FromValue a
fromValue :: FromValue a => Value -> Parser a
fromValue :: forall d m. (FromValue a, Generic a, Rep a ~ D1 d m, Datatype d, GenericDecode (Rep a)) => Value -> Parser a
data Parser a
type Result a = Either String (a, [String])
decodeValue :: FromValue a => Value -> Result a

-- | Representable types of kind *. This class is derivable in GHC
--   with the DeriveGeneric flag on.
--   
--   A Generic instance must satisfy the following laws:
--   
--   
--   from . to ≡ id
--   to . from ≡ id
--   
class Generic a
class GenericDecode f
genericFromValue :: forall a d m. (Generic a, Rep a ~ D1 d m, Datatype d, GenericDecode (Rep a)) => Value -> Parser a
data Options
Options :: (String -> String) -> Options
[optionsRecordSelectorModifier] :: Options -> String -> String
genericFromValueWith :: (Generic a, GenericDecode (Rep a)) => Options -> Value -> Parser a
typeMismatch :: String -> Value -> Parser a
withObject :: (Object -> Parser a) -> Value -> Parser a
withText :: (Text -> Parser a) -> Value -> Parser a
withString :: (String -> Parser a) -> Value -> Parser a
withArray :: (Array -> Parser a) -> Value -> Parser a
withNumber :: (Scientific -> Parser a) -> Value -> Parser a
withBool :: (Bool -> Parser a) -> Value -> Parser a
parseArray :: (Value -> Parser a) -> Array -> Parser [a]
traverseObject :: (Value -> Parser a) -> Object -> Parser [(Text, a)]
(.:) :: FromValue a => Object -> Text -> Parser a
(.:?) :: FromValue a => Object -> Text -> Parser (Maybe a)

-- | A JSON value represented as a Haskell value.
data Value
Object :: !Object -> Value
Array :: !Array -> Value
String :: !Text -> Value
Number :: !Scientific -> Value
Bool :: !Bool -> Value
Null :: Value

-- | A JSON "object" (key/value map).
type Object = HashMap Text Value

-- | A JSON "array" (sequence).
type Array = Vector Value

module Hpack.Config
data DecodeOptions
DecodeOptions :: ProgramName -> FilePath -> Maybe FilePath -> (FilePath -> IO (Either String ([String], Value))) -> DecodeOptions
[decodeOptionsProgramName] :: DecodeOptions -> ProgramName
[decodeOptionsTarget] :: DecodeOptions -> FilePath
[decodeOptionsUserDataDir] :: DecodeOptions -> Maybe FilePath
[decodeOptionsDecode] :: DecodeOptions -> FilePath -> IO (Either String ([String], Value))
newtype ProgramName
ProgramName :: String -> ProgramName
defaultDecodeOptions :: DecodeOptions
packageConfig :: FilePath
data DecodeResult
DecodeResult :: Package -> String -> FilePath -> [String] -> DecodeResult
[decodeResultPackage] :: DecodeResult -> Package
[decodeResultCabalVersion] :: DecodeResult -> String
[decodeResultCabalFile] :: DecodeResult -> FilePath
[decodeResultWarnings] :: DecodeResult -> [String]
readPackageConfig :: DecodeOptions -> IO (Either String DecodeResult)
renamePackage :: String -> Package -> Package
packageDependencies :: Package -> [(String, DependencyInfo)]
package :: String -> String -> Package
section :: a -> Section a
data Package
Package :: String -> String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> [String] -> [String] -> [String] -> BuildType -> Maybe String -> [FilePath] -> Maybe String -> [Flag] -> [Path] -> [Path] -> [Path] -> Maybe FilePath -> Maybe SourceRepository -> Maybe CustomSetup -> Maybe (Section Library) -> Map String (Section Library) -> Map String (Section Executable) -> Map String (Section Executable) -> Map String (Section Executable) -> [Verbatim] -> Package
[packageName] :: Package -> String
[packageVersion] :: Package -> String
[packageSynopsis] :: Package -> Maybe String
[packageDescription] :: Package -> Maybe String
[packageHomepage] :: Package -> Maybe String
[packageBugReports] :: Package -> Maybe String
[packageCategory] :: Package -> Maybe String
[packageStability] :: Package -> Maybe String
[packageAuthor] :: Package -> [String]
[packageMaintainer] :: Package -> [String]
[packageCopyright] :: Package -> [String]
[packageBuildType] :: Package -> BuildType
[packageLicense] :: Package -> Maybe String
[packageLicenseFile] :: Package -> [FilePath]
[packageTestedWith] :: Package -> Maybe String
[packageFlags] :: Package -> [Flag]
[packageExtraSourceFiles] :: Package -> [Path]
[packageExtraDocFiles] :: Package -> [Path]
[packageDataFiles] :: Package -> [Path]
[packageDataDir] :: Package -> Maybe FilePath
[packageSourceRepository] :: Package -> Maybe SourceRepository
[packageCustomSetup] :: Package -> Maybe CustomSetup
[packageLibrary] :: Package -> Maybe (Section Library)
[packageInternalLibraries] :: Package -> Map String (Section Library)
[packageExecutables] :: Package -> Map String (Section Executable)
[packageTests] :: Package -> Map String (Section Executable)
[packageBenchmarks] :: Package -> Map String (Section Executable)
[packageVerbatim] :: Package -> [Verbatim]
newtype Dependencies
Dependencies :: Map String DependencyInfo -> Dependencies
[unDependencies] :: Dependencies -> Map String DependencyInfo
data DependencyInfo
DependencyInfo :: [String] -> DependencyVersion -> DependencyInfo
[dependencyInfoMixins] :: DependencyInfo -> [String]
[dependencyInfoVersion] :: DependencyInfo -> DependencyVersion
data VersionConstraint
AnyVersion :: VersionConstraint
VersionRange :: String -> VersionConstraint
data DependencyVersion
DependencyVersion :: Maybe SourceDependency -> VersionConstraint -> DependencyVersion
data SourceDependency
GitRef :: GitUrl -> GitRef -> Maybe FilePath -> SourceDependency
Local :: FilePath -> SourceDependency
type GitRef = String
type GitUrl = String
data BuildTool
BuildTool :: String -> String -> BuildTool
LocalBuildTool :: String -> BuildTool
newtype SystemBuildTools
SystemBuildTools :: Map String VersionConstraint -> SystemBuildTools
[unSystemBuildTools] :: SystemBuildTools -> Map String VersionConstraint
type GhcOption = String
data Verbatim
VerbatimLiteral :: String -> Verbatim
VerbatimObject :: Map String VerbatimValue -> Verbatim
data VerbatimValue
VerbatimString :: String -> VerbatimValue
VerbatimNumber :: Scientific -> VerbatimValue
VerbatimBool :: Bool -> VerbatimValue
VerbatimNull :: VerbatimValue
verbatimValueToString :: VerbatimValue -> String
data CustomSetup
CustomSetup :: Dependencies -> CustomSetup
[customSetupDependencies] :: CustomSetup -> Dependencies
data Section a
Section :: a -> [FilePath] -> Dependencies -> [String] -> [String] -> [String] -> [GhcOption] -> [GhcProfOption] -> [GhcjsOption] -> [CppOption] -> [CcOption] -> [Path] -> [CxxOption] -> [Path] -> [Path] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [LdOption] -> Maybe Bool -> [Conditional (Section a)] -> Map BuildTool DependencyVersion -> SystemBuildTools -> [Verbatim] -> Section a
[sectionData] :: Section a -> a
[sectionSourceDirs] :: Section a -> [FilePath]
[sectionDependencies] :: Section a -> Dependencies
[sectionPkgConfigDependencies] :: Section a -> [String]
[sectionDefaultExtensions] :: Section a -> [String]
[sectionOtherExtensions] :: Section a -> [String]
[sectionGhcOptions] :: Section a -> [GhcOption]
[sectionGhcProfOptions] :: Section a -> [GhcProfOption]
[sectionGhcjsOptions] :: Section a -> [GhcjsOption]
[sectionCppOptions] :: Section a -> [CppOption]
[sectionCcOptions] :: Section a -> [CcOption]
[sectionCSources] :: Section a -> [Path]
[sectionCxxOptions] :: Section a -> [CxxOption]
[sectionCxxSources] :: Section a -> [Path]
[sectionJsSources] :: Section a -> [Path]
[sectionExtraLibDirs] :: Section a -> [FilePath]
[sectionExtraLibraries] :: Section a -> [FilePath]
[sectionExtraFrameworksDirs] :: Section a -> [FilePath]
[sectionFrameworks] :: Section a -> [FilePath]
[sectionIncludeDirs] :: Section a -> [FilePath]
[sectionInstallIncludes] :: Section a -> [FilePath]
[sectionLdOptions] :: Section a -> [LdOption]
[sectionBuildable] :: Section a -> Maybe Bool
[sectionConditionals] :: Section a -> [Conditional (Section a)]
[sectionBuildTools] :: Section a -> Map BuildTool DependencyVersion
[sectionSystemBuildTools] :: Section a -> SystemBuildTools
[sectionVerbatim] :: Section a -> [Verbatim]
data Library
Library :: Maybe Bool -> Maybe String -> [String] -> [String] -> [String] -> [String] -> [String] -> Library
[libraryExposed] :: Library -> Maybe Bool
[libraryVisibility] :: Library -> Maybe String
[libraryExposedModules] :: Library -> [String]
[libraryOtherModules] :: Library -> [String]
[libraryGeneratedModules] :: Library -> [String]
[libraryReexportedModules] :: Library -> [String]
[librarySignatures] :: Library -> [String]
data Executable
Executable :: Maybe FilePath -> [String] -> [String] -> Executable
[executableMain] :: Executable -> Maybe FilePath
[executableOtherModules] :: Executable -> [String]
[executableGeneratedModules] :: Executable -> [String]
data Conditional a
Conditional :: String -> a -> Maybe a -> Conditional a
[conditionalCondition] :: Conditional a -> String
[conditionalThen] :: Conditional a -> a
[conditionalElse] :: Conditional a -> Maybe a
data Flag
Flag :: String -> Maybe String -> Bool -> Bool -> Flag
[flagName] :: Flag -> String
[flagDescription] :: Flag -> Maybe String
[flagManual] :: Flag -> Bool
[flagDefault] :: Flag -> Bool
data SourceRepository
SourceRepository :: String -> Maybe String -> SourceRepository
[sourceRepositoryUrl] :: SourceRepository -> String
[sourceRepositorySubdir] :: SourceRepository -> Maybe String
data BuildType
Simple :: BuildType
Configure :: BuildType
Make :: BuildType
Custom :: BuildType
type GhcProfOption = String
type GhcjsOption = String
type CppOption = String
type CcOption = String
type LdOption = String
newtype Path
Path :: FilePath -> Path
[unPath] :: Path -> FilePath
instance GHC.Show.Show Hpack.Config.DecodeResult
instance GHC.Classes.Eq Hpack.Config.DecodeResult
instance GHC.Show.Show Hpack.Config.Package
instance GHC.Classes.Eq Hpack.Config.Package
instance Data.Traversable.Traversable Hpack.Config.Section
instance Data.Foldable.Foldable Hpack.Config.Section
instance GHC.Base.Functor Hpack.Config.Section
instance GHC.Show.Show a => GHC.Show.Show (Hpack.Config.Section a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Hpack.Config.Section a)
instance GHC.Classes.Ord Hpack.Config.Path
instance GHC.Show.Show Hpack.Config.Path
instance GHC.Classes.Eq Hpack.Config.Path
instance GHC.Show.Show Hpack.Config.SourceRepository
instance GHC.Classes.Eq Hpack.Config.SourceRepository
instance GHC.Show.Show Hpack.Config.Flag
instance GHC.Classes.Eq Hpack.Config.Flag
instance GHC.Generics.Generic (Hpack.Config.PackageConfig_ library executable)
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.FlagSection
instance GHC.Generics.Generic Hpack.Config.FlagSection
instance GHC.Show.Show Hpack.Config.FlagSection
instance GHC.Classes.Eq Hpack.Config.FlagSection
instance Data.Traversable.Traversable Hpack.Config.Conditional
instance Data.Foldable.Foldable Hpack.Config.Conditional
instance GHC.Base.Functor Hpack.Config.Conditional
instance GHC.Show.Show a => GHC.Show.Show (Hpack.Config.Conditional a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Hpack.Config.Conditional a)
instance GHC.Classes.Ord Hpack.Config.BuildTool
instance GHC.Classes.Eq Hpack.Config.BuildTool
instance GHC.Show.Show Hpack.Config.BuildTool
instance GHC.Show.Show Hpack.Config.Executable
instance GHC.Classes.Eq Hpack.Config.Executable
instance GHC.Show.Show Hpack.Config.Library
instance GHC.Classes.Eq Hpack.Config.Library
instance GHC.Show.Show Hpack.Config.CustomSetup
instance GHC.Classes.Eq Hpack.Config.CustomSetup
instance GHC.Show.Show Hpack.Config.ProgramName
instance GHC.Classes.Eq Hpack.Config.ProgramName
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.DefaultsConfig
instance GHC.Generics.Generic Hpack.Config.DefaultsConfig
instance GHC.Enum.Bounded Hpack.Config.BuildType
instance GHC.Enum.Enum Hpack.Config.BuildType
instance GHC.Generics.Generic Hpack.Config.BuildType
instance GHC.Show.Show Hpack.Config.BuildType
instance GHC.Classes.Eq Hpack.Config.BuildType
instance GHC.Show.Show Hpack.Config.Empty
instance GHC.Classes.Eq Hpack.Config.Empty
instance GHC.Generics.Generic (Hpack.Config.CommonOptions cSources cxxSources jsSources a)
instance GHC.Base.Functor (Hpack.Config.CommonOptions cSources cxxSources jsSources)
instance GHC.Generics.Generic (Hpack.Config.ThenElse cSources cxxSources jsSources a)
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.Condition
instance GHC.Generics.Generic Hpack.Config.Condition
instance GHC.Show.Show Hpack.Config.Condition
instance GHC.Classes.Eq Hpack.Config.Condition
instance GHC.Show.Show Hpack.Config.Cond
instance GHC.Classes.Eq Hpack.Config.Cond
instance GHC.Show.Show Hpack.Config.Verbatim
instance GHC.Classes.Eq Hpack.Config.Verbatim
instance GHC.Show.Show Hpack.Config.VerbatimValue
instance GHC.Classes.Eq Hpack.Config.VerbatimValue
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.ExecutableSection
instance GHC.Generics.Generic Hpack.Config.ExecutableSection
instance GHC.Show.Show Hpack.Config.ExecutableSection
instance GHC.Classes.Eq Hpack.Config.ExecutableSection
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.LibrarySection
instance GHC.Generics.Generic Hpack.Config.LibrarySection
instance GHC.Show.Show Hpack.Config.LibrarySection
instance GHC.Classes.Eq Hpack.Config.LibrarySection
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.CustomSetupSection
instance GHC.Generics.Generic Hpack.Config.CustomSetupSection
instance GHC.Show.Show Hpack.Config.CustomSetupSection
instance GHC.Classes.Eq Hpack.Config.CustomSetupSection
instance Data.String.IsString Hpack.Config.Path
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.ParsePackageConfig
instance Data.Aeson.Config.FromValue.FromValue a => Data.Aeson.Config.FromValue.FromValue (Hpack.Config.CheckSpecVersion a)
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.ParseSpecVersion
instance Data.String.IsString Hpack.Config.ProgramName
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.GitHub
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.PackageVersion
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.BuildType
instance GHC.Base.Monoid Hpack.Config.Empty
instance GHC.Base.Semigroup Hpack.Config.Empty
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.Empty
instance Data.Aeson.Config.FromValue.FromValue a => Data.Aeson.Config.FromValue.FromValue (Hpack.Config.ParseThenElse a)
instance Data.Aeson.Config.FromValue.FromValue a => Data.Aeson.Config.FromValue.FromValue (Hpack.Config.ParseCommonOptions a)
instance Data.Aeson.Config.FromValue.FromValue a => Data.Aeson.Config.FromValue.FromValue (Hpack.Config.ParseConditionalSection a)
instance (GHC.Base.Semigroup cSources, GHC.Base.Semigroup cxxSources, GHC.Base.Semigroup jsSources, GHC.Base.Monoid cSources, GHC.Base.Monoid cxxSources, GHC.Base.Monoid jsSources) => GHC.Base.Monoid (Hpack.Config.CommonOptions cSources cxxSources jsSources a)
instance (GHC.Base.Semigroup cSources, GHC.Base.Semigroup cxxSources, GHC.Base.Semigroup jsSources) => GHC.Base.Semigroup (Hpack.Config.CommonOptions cSources cxxSources jsSources a)
instance GHC.Base.Functor (Hpack.Config.ConditionalSection cSources cxxSources jsSources)
instance GHC.Base.Functor (Hpack.Config.ThenElse cSources cxxSources jsSources)
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.Cond
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.Verbatim
instance Data.Aeson.Config.FromValue.FromValue Hpack.Config.VerbatimValue
instance GHC.Base.Monoid Hpack.Config.ExecutableSection
instance GHC.Base.Semigroup Hpack.Config.ExecutableSection
instance GHC.Base.Monoid Hpack.Config.LibrarySection
instance GHC.Base.Semigroup Hpack.Config.LibrarySection

module Hpack.Render
renderPackage :: [String] -> Package -> String
renderPackageWith :: RenderSettings -> Alignment -> [String] -> [(String, [String])] -> Package -> String
defaultRenderSettings :: RenderSettings
data RenderSettings
RenderSettings :: Int -> Alignment -> CommaStyle -> RenderSettings
[renderSettingsIndentation] :: RenderSettings -> Int
[renderSettingsFieldAlignment] :: RenderSettings -> Alignment
[renderSettingsCommaStyle] :: RenderSettings -> CommaStyle
newtype Alignment
Alignment :: Int -> Alignment
data CommaStyle
LeadingCommas :: CommaStyle
TrailingCommas :: CommaStyle

module Hpack
version :: Version
hpack :: Verbose -> Options -> IO ()
hpackResult :: Options -> IO Result
printResult :: Verbose -> Result -> IO ()
data Result
Result :: [String] -> String -> Status -> Result
[resultWarnings] :: Result -> [String]
[resultCabalFile] :: Result -> String
[resultStatus] :: Result -> Status
data Status
Generated :: Status
ExistingCabalFileWasModifiedManually :: Status
AlreadyGeneratedByNewerHpack :: Status
OutputUnchanged :: Status
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 :: Verbose
NoVerbose :: Verbose
data Options
Options :: DecodeOptions -> Force -> GenerateHashStrategy -> Bool -> Options
[optionsDecodeOptions] :: Options -> DecodeOptions
[optionsForce] :: Options -> Force
[optionsGenerateHashStrategy] :: Options -> GenerateHashStrategy
[optionsToStdout] :: Options -> Bool
data Force
Force :: Force
NoForce :: Force
data GenerateHashStrategy
ForceHash :: GenerateHashStrategy
ForceNoHash :: GenerateHashStrategy
PreferHash :: GenerateHashStrategy
PreferNoHash :: GenerateHashStrategy
instance GHC.Show.Show Hpack.Result
instance GHC.Classes.Eq Hpack.Result
instance GHC.Show.Show Hpack.Status
instance GHC.Classes.Eq Hpack.Status
instance GHC.Show.Show Hpack.GenerateHashStrategy
instance GHC.Classes.Eq Hpack.GenerateHashStrategy
