ConfigFile-1.0.4: Configuration file reading & writing

MaintainerJohn Goerzen <>



Internal types for Data.ConfigFile. This module is not intended to be used directly by your programs.

Copyright (c) 2004-2008 John Goerzen,



type CPOptions = Map OptionSpec StringSource

Storage of options.

type CPData = Map SectionSpec CPOptionsSource

The main data storage type (storage of sections).

PLEASE NOTE: This type is exported only for use by other modules under Data.ConfigFile. You should NEVER access the FiniteMap in a ConfigParser directly. This type may change in future releases of MissingH, which could break your programs. Please retrict yourself to the interface in Data.ConfigFile.

data CPErrorData Source

Possible ConfigParser errors.


ParseError String

Parse error

SectionAlreadyExists SectionSpec

Attempt to create an already-existing ection

NoSection SectionSpec

The section does not exist

NoOption OptionSpec

The option does not exist

OtherProblem String

Miscellaneous error

InterpolationError String

Raised by Data.ConfigFile.interpolatingAccess if a request was made for a non-existant option

type CPError = (CPErrorData, String)Source

Indicates an error occurred. The String is an explanation of the location of the error.

data ConfigParser Source

This is the main record that is used by Data.ConfigFile.




content :: CPData

The data itself

optionxform :: OptionSpec -> OptionSpec

How to transform an option into a standard representation

defaulthandler :: ConfigParser -> SectionSpec -> OptionSpec -> Either CPError String

Function to look up an option, considering a default value if usedefault is True; or ignoring a default value otherwise. The option specification is assumed to be already transformed.

usedefault :: Bool

Whether or not to seek out a default action when no match is found.

accessfunc :: ConfigParser -> SectionSpec -> OptionSpec -> Either CPError String

Function that is used to perform lookups, do optional interpolation, etc. It is assumed that accessfunc will internally call defaulthandler to do the underlying lookup. The option value is not assumed to be transformed.

type SectionSpec = StringSource

Names of sections

type OptionSpec = StringSource

Names of options

type ParseOutput = [(String, [(String, String)])]Source

Internal output from parser