Changes between Version 5 and Version 6 of Commentary/Packages


Ignore:
Timestamp:
Jul 10, 2009 1:47:55 PM (5 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Packages

    v5 v6  
    3939 
    4040 `InstalledPackageId` ("base-4.1.0.0-1mpgjN")::  
    41     A string that uniquely identifies a package in the database.  Dependencies 
    42     between installed packages are also identified by the `InstalledPackageId`. 
     41    (introduced in GHC 6.12 / Cabal 1.7.2) A string that uniquely identifies a package in the database.  Dependencies 
     42    between installed packages are identified by the `InstalledPackageId`.  An `InstalledPackageId` is currently 
     43    chosen by adding a random suffix to the string representing the `PackageIdentifier` when a package is registered. 
    4344 
    4445 `PackageId` (these currently look like "base-4.1.0.0" in GHC 6.12):: 
     
    4950== Design constraints == 
    5051 
    51  1. We want [wiki:Commentary/Compiler/RecompilationAvoidance] to work.  So that means symbol names should not contain any information that varies too often, such as the ABI hash of the module or package.  The ABI of an entity should depend only on its definition, and the definitons of the things it depends on. 
     52 1. We want [wiki:Commentary/Compiler/RecompilationAvoidance] to work.  This means that symbol names should not contain any information that varies too often, such as the ABI hash of the module or package.  The ABI of an entity should depend only on its definition, and the definitons of the things it depends on. 
    5253 
    5354 2. We want to be able to detect ABI incompatibility.  If a package is recompiled and installed over the top of the old one, and the new version is ABI-incompatible with the old one, then packages that depended on the old version should be detectably broken using the tools.