packages feed

conf-0.1.1.0: conf.cabal

name:                conf
version:             0.1.1.0
license:             BSD3
license-file:        LICENSE
author:              Cary M. Robbins
maintainer:          carymrobbins@gmail.com
copyright:           Copyright (C) 2015 Cary M. Robbins
category:            Configuration, Parsing
build-type:          Simple
cabal-version:       >=1.10
synopsis:            Parser for Haskell-based configuration files.
description:
    This package is designed to allow you to create configuration files
    with declarative Haskell and parse the values back into Haskell code.
    The benefit here is to have a configuration file in Haskell that does
    not have to be recompiled - it is interpreted/parsed at runtime in a
    type-safe manner.
    .
    Example usage:
    .
    > -- /path/to/my-config.hs
    > foo = ["bar", "baz"]
    > spam = Eggs
    .
    > -- Application source
    > import Data.Conf
    > import Data.Maybe
    >
    > data Spam = Eggs | Parrot | SomethingEntirelyDifferent
    >     deriving (Show, Read)
    >
    > getSpam :: Conf -> Spam
    > getSpam = fromMaybe SomethingEntirelyDifferent . getConf "spam"
    >
    > getFoo :: Conf -> Maybe Int
    > getFoo = getConf "foo"
    >
    > main = do
    >     conf <- readConf "my-config.hs"
    >     print $ getSpam conf -- Output: Eggs
    >     print $ getFoo conf  -- Output: Nothing

extra-source-files:
    LICENSE
    README.md
    Setup.hs
    .gitignore
    tools/generate-readme.hs

source-repository head
    type: git
    location: git://github.com/carymrobbins/haskell-conf.git

library
  exposed-modules:     Data.Conf
                     , Data.Conf.Parser
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall
  build-depends:       base >=4.6 && <4.8
                     , haskell-src

Test-Suite unit-test
  type:                exitcode-stdio-1.0
  main-is:             UnitTests.hs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  build-depends:       conf
                     , base >=4.6 && <4.8
                     , HUnit
                     , test-framework
                     , test-framework-hunit
                     , test-framework-th
  other-extensions:    TemplateHaskell