{-# LANGUAGE OverloadedStrings #-}
-- |A module for working with Debian control files <http://www.debian.org/doc/debian-policy/ch-controlfields.html>
module Debian.Control
    ( -- * Types
      Control'(..)
    , Paragraph'(..)
    , Field'(..)
    , Control
    , Paragraph
    , Field
    , ControlParser
    , ControlFunctions(..)
    -- * Control File Parser
    , pControl
    -- * Helper Functions
    , mergeControls
    , fieldValue
    , removeField
    , prependFields
    , appendFields
    , renameField
    , modifyField
    , raiseFields
    , packParagraph
    , packField
    , formatControl
    , formatParagraph
    , formatField
    -- * Policy classes and functions
    , P.HasDebianControl(..)
    , P.ControlFileError(..)
    , P.parseDebianControlFromFile
    , P.validateDebianControl
    , P.unsafeDebianControl
    , P.debianSourceParagraph
    , P.debianBinaryParagraphs
    , P.debianPackageParagraphs
    , P.debianPackageNames
    , P.debianSourcePackageName
    , P.debianBinaryPackageNames
    , P.debianRelations
    , P.debianBuildDeps
    , P.debianBuildDepsIndep
    ) where

--import Control.Monad
--import Data.List
--import Text.ParserCombinators.Parsec
--import System.IO
import Debian.Control.Common
import Debian.Control.String
import Data.List
import