,l!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~to be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>1  !"#$%&'()*+,-.=Note - this function evaluates the second arg and uses (++)  via . /  !"#$%&'()*+,-./  !"#$%&'()*+,-./  !"#$%&'()*+,-.to be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>/0123/0123/0123/0123to be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>456789:;<=>?@ABC456789:;<=>?@ABC9:;<=48765>?@ABC4876556789:;<=:;<=>?@ABCto be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>2DEFGHIJKLMNOPQRSTU3Module file names are derived from the cabal file. , So the name is tracked if it is missing... VWXYZ[\]^_`abcdefghijklmnopqrstu2DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu2mlikjnbcdefgh\_]`a^opXYZ[UWVqQTSRrLMNOPsHIJKtDEFGu2DEFGEFGHIJKIJKLMNOPMNOPQTSRRSTUWVVWXYZ[YZ[\_]`a^]^_`abcdefghcdefghikjjklmnopqrstuto be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>vwxyvwxyvwxyvwxyto be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com> z{|}~ z{|}~ z{|}~ z{|}~to be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>.to be determined.highly unstable)Stephen Tetley <stephen.tetley@gmail.com>      !"#$%&'()*+,-./0123456789:;<=>?@ABBCDEFGHIJKLLMNOOPQRRSTUVWXYZ[\]]^_`ab`cdeefghijklmnopqrstuvwxyz{|}~ precis-0.3.1Precis.PPShowS Precis.UtilsPrecis.PropertiesPrecis.DatatypesPrecis.PathUtilsPrecis.HsSrcUtilsPrecis.ModulePropertiesPrecis.CabalPackagetoStringputShowS putShowSLine punctuate encloseSeplisttupled semiBracehcathsepvsep<><+>seplinesquotesdquotesbracesparensanglesbracketslparenrparenlangleranglelbracerbracelbracketrbracketsglquotedblquotesemicoloncommaspacedotequal backslashnewlinebaremptytextcharint repeatChar prefixLinesnextLineHsnocHtoListH onSuccess onSuccessMEditRemovedSameConflictAddedProperty property_nameproperty_descriptionproperty_value difference diffProperty addedRemovedsummarizeAddedRemovedsummarizeConflictRemovedsummarizeAddedConflictRemoved TypeSigDecltype_decl_nametype_signature DatatypeDecl datatype_name datatype_rep InstanceDecl class_nametype_repfull_rep ExportItemVariable DataOrClass ModuleExportModuleParseErrorERR_MODULE_FILE_PARSEERR_MODULE_FILE_MISSINGMacroExpandedSrcFilesource_file_nameexpanded_source SourceFileUnresolvedFileunresolved_file_name module_name full_path_to CabalPrecis package_namepackage_versionpath_to_cabal_fileexposed_modulesinternal_modulesCabalFileErrorERR_CABAL_FILE_PARSEERR_CABAL_FILE_MISSINGTextRepStrNamecabalFileErrorMsg sourceFilesourceFileNamemoduleParseErrorMsgexportItemNameinstanceDeclNamedatatypeDeclNametypeSigDeclName exeModuleName resolveFiles removePrefixresolveToCabalFileLoc readModuleparseModuleWithExts extractQName extractCNameextractModuleName extractNameextractSpecialCon getModuleName namedDeclshsppList TypeSigsProp DataDeclsProp InstancesProp ExportsPropExposedModulesListExposedModulesPropPackageModulesListpublic_modulesprivate_modulesPackageModulesProppackageModulesPropdiffPackageModulesPropsexposedModulesPropdiffExposedModulesProps exportsPropdiffExportsProps instancesPropdiffInstancesProps dataDeclsPropdiffDataDeclsProps typeSigsPropdiffTypeSigsProps Extension extractPrecisknown_extensionsfoldenclosebaseGHC.Show showStringaddedConflictRemovedconflictRemovedmsgCountaddedMsg conflictMsg removedMsg addedLine conflictLine removedLinefindByExtensionmoduleLongPathlongCrossProductmname TypeSigsList DataDeclsList InstanceKey InstancesList ExportsListmakePackageModulesProppackageModulesListmakeExposedModulesPropmakeExportsProp exportsListmakeExportItemmakeInstancesProp instancesListmakeInstanceDecl instanceKeymakeDataDeclsProp dataDeclsListmakeDatatypeDeclfilterDatatypesmakeTypeSigsProp typeSigsListmakeTypeSigDeclfilterTypeSigsSafeGPDextractPsafeReadPackageDescriptiongetName getVersion extrNameTextextrVersionTextgetSourceFiles allLibrariesallExecutablesresolveLibrarylibraryContentsresolveExecutableexecutableContentsexecutableModulesnubSourceFilesctfold