moduleDDC.Build.Language.Base(Language(..),Bundle(..))whereimportDDC.Core.ModuleimportDDC.Core.FragmentimportDDC.Core.CheckimportDDC.Core.SimplifierimportDDC.Core.Transform.NamifyimportDDC.Core.Transform.RewriteimportDDC.Base.PrettyimportControl.DeepSeqimportData.TypeableimportData.Map(Map)importDDC.Type.Env(Env)importqualifiedDDC.Base.ParserasBP-- | Existential container for a language fragment, and the dictionaries-- we need to work with its type parameters.dataLanguage=forallsnerr.(Typeablen,Ordn,Shown,Prettyn,Pretty(err(AnTECBP.SourcePosn)),NFDatan)=>Language(Bundlesnerr)-- | Existential container for a language fragment, -- the simplifier for it,-- and the dictionaries we need to work with its type parameters.dataBundlesnerr=Bundle{-- | Language fragment definition.bundleFragment::Fragmentnerr-- | Modules being used for inliner templates.,bundleModules::MapModuleName(Module(AnTEC()n)n)-- | Initial simplifier state.,bundleStateInit::s-- | Current simplifier to apply to module.,bundleSimplifier::Simplifiers(AnTEC()n)n-- | Make a namifier for level-1 names.,bundleMakeNamifierT::Envn->Namifiersn-- | Make a namifier for level-0 names.,bundleMakeNamifierX::Envn->Namifiersn-- | Current rewrite rules to apply to module.,bundleRewriteRules::MapString(RewriteRule(AnTEC()n)n)}