projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-10-30 19:12:31 by krasimir]
[ghc-hetmet.git]
/
ghc
/
compiler
/
main
/
PackageConfig.hs
diff --git
a/ghc/compiler/main/PackageConfig.hs
b/ghc/compiler/main/PackageConfig.hs
index
2cb3c56
..
e19a10d
100644
(file)
--- a/
ghc/compiler/main/PackageConfig.hs
+++ b/
ghc/compiler/main/PackageConfig.hs
@@
-6,6
+6,7
@@
module PackageConfig (
-- * PackageId
PackageId,
mkPackageId, stringToPackageId, packageIdString, packageConfigId,
-- * PackageId
PackageId,
mkPackageId, stringToPackageId, packageIdString, packageConfigId,
+ packageIdFS, fsToPackageId,
-- * The PackageConfig type: information about a package
PackageConfig,
-- * The PackageConfig type: information about a package
PackageConfig,
@@
-19,7
+20,7
@@
module PackageConfig (
import Distribution.InstalledPackageInfo
import Distribution.Package
import Distribution.InstalledPackageInfo
import Distribution.Package
-import Data.Version
+import Distribution.Version
import FastString
-- -----------------------------------------------------------------------------
import FastString
-- -----------------------------------------------------------------------------
@@
-43,12
+44,21
@@
defaultPackageConfig = emptyInstalledPackageInfo
--
-- A PackageId is a string of the form <pkg>-<version>.
--
-- A PackageId is a string of the form <pkg>-<version>.
-type PackageId = FastString -- includes the version
+newtype PackageId = PId FastString deriving( Eq, Ord ) -- includes the version
-- easier not to use a newtype here, because we need instances of
-- Binary & Outputable, and we're too early to define them
-- easier not to use a newtype here, because we need instances of
-- Binary & Outputable, and we're too early to define them
+fsToPackageId :: FastString -> PackageId
+fsToPackageId = PId
+
+packageIdFS :: PackageId -> FastString
+packageIdFS (PId fs) = fs
+
stringToPackageId :: String -> PackageId
stringToPackageId :: String -> PackageId
-stringToPackageId = mkFastString
+stringToPackageId = fsToPackageId . mkFastString
+
+packageIdString :: PackageId -> String
+packageIdString = unpackFS . packageIdFS
mkPackageId :: PackageIdentifier -> PackageId
mkPackageId = stringToPackageId . showPackageId
mkPackageId :: PackageIdentifier -> PackageId
mkPackageId = stringToPackageId . showPackageId
@@
-56,5
+66,4
@@
mkPackageId = stringToPackageId . showPackageId
packageConfigId :: PackageConfig -> PackageId
packageConfigId = mkPackageId . package
packageConfigId :: PackageConfig -> PackageId
packageConfigId = mkPackageId . package
-packageIdString :: PackageId -> String
-packageIdString = unpackFS
+