
dcoutts has told me that there was a choice: Duplicating the record (one for assembling options the way it's now (A)) and one for usage (B). Seems like beeing duplication but.. many (fromFlag configVerbose) in all Setup.lhs files is duplication as well. (A) now : definition ConfigureFlags = { ...; configVerbose :: Flag Verbosity ^^^ <- difference (for the user writing Setup.hs) usage fromFlag . configVerbose $ flags (B) the way it was (seen by the Setup.hs writer) and the other way: definition ConfigureFlagsGetOpt = { ...; configVerbose :: Flag Verbosity -- no longer any non configured values.. defaults must have been filled in there and you see can see it ReadConfigureFlags = { ...; configVerbose :: Verbosity ^^^^ <- difference (for the user writing Setup.hs ) usage: configVerbose $ flags Because Cabal is a tool designed to make package writing more easy for the mass maybe the right way to go in the future is a design beeing closer to (B) ? Why? Because you can just open Setup.hs and jump to the definition and you see what you have to see no longer wondering about default values and how things are used internally within Cabal. (I mean wether and when defaultConfigFlags is actually used so it's safe to use .. you know this already from my privious post :) I don't want to break things.. I only want tell you about my thoughts. Sincerly Marc Weber