Configuration Source Acquisition

This comparison adds the front edge of the configuration pipeline.

The later configuration slices assume we already have a StartupSettingSource or a RawStartupConfig. This step shows how we acquire that canonical key/value source from external-style environment keys before raw loading begins.

Files

  • /Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/Shared/ConfigurationSourceAcquisitionStartup.hs
  • /Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/Baseline/ConfigurationSourceAcquisitionStartup.hs
  • /Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/HaskellStyle/ConfigurationSourceAcquisitionStartup.hs

Baseline

Baseline.ConfigurationSourceAcquisitionStartup.acquireStartupSettingSourceInline reads the required external keys in order and stops at the first missing value.

Haskell Style

HaskellStyle.ConfigurationSourceAcquisitionStartup.acquireStartupSettingSource gathers the same external keys but accumulates missing-source failures before returning a canonical StartupSettingSource.

This keeps the overall progression explicit:

  1. acquire canonical settings from the external source
  2. load normalized raw strings
  3. decode typed values
  4. validate startup rules