-------------------------------------------------------------------- | Compilation-- Monad and combinators for quickly assembling simple-- compilers.---- @Control\/Compilation\/Module.hs@---- State extension class and combinators for implementations-- of a state that support module name specification.--------------------------------------------------------------------{-# LANGUAGE TypeSynonymInstances #-}moduleControl.Compilation.ModulewhereimportControl.Compilation------------------------------------------------------------------ | Type synonyms and class memberships.typeModuleName=StringtypeStateExtensionModule=ModuleName------------------------------------------------------------------ | State extension class definition, including combinators.classStateExtensiona=>HasModuleawhereproject::a->StateExtensionModuleinject::StateExtensionModule->a->asetModule::String->Compilationa()setModulem=dos<-getset$injectmsgetModule::CompilationaStringgetModule=dos<-getreturn$projects--eof