 | debian-1.2: A set of modules for working with debian control files and packages | Contents | Index |
|
| Linspire.Debian.Dependencies |
|
|
|
|
|
| Synopsis |
|
| | | type State a = (Status, [a]) | | | complete :: State a -> Bool | | | data CSP a = CSP {} | | | controlCSP :: Control -> Relations -> (Paragraph -> Relations) -> CSP Paragraph | | | testCSP :: FilePath -> (Paragraph -> Relations) -> String -> (CSP Paragraph -> IO a) -> IO a | | | depF :: Paragraph -> Relations | | | packageVersionParagraph :: Paragraph -> (String, DebianVersion) | | | conflict :: CSP p -> p -> p -> Bool | | | conflict' :: (String, DebianVersion) -> Relation -> Bool | | | mkTree :: a -> [Tree a] -> Tree a | | | label :: Tree a -> a | | | initTree :: (a -> [a]) -> a -> Tree a | | | mapTree :: (a -> b) -> Tree a -> Tree b | | | foldTree :: (a -> [b] -> b) -> Tree a -> b | | | zipTreesWith :: (a -> b -> c) -> Tree a -> Tree b -> Tree c | | | prune :: (a -> Bool) -> Tree a -> Tree a | | | leaves :: Tree a -> [a] | | | inhTree :: (b -> a -> b) -> b -> Tree a -> Tree b | | | distrTree :: (a -> [b]) -> b -> Tree a -> Tree b | | | mkSearchTree :: forall a . CSP a -> Tree (State a) | | | earliestInconsistency :: CSP a -> State a -> Maybe ((String, DebianVersion), (String, DebianVersion)) | | | type ConflictSet = ([(String, DebianVersion)], [Relation]) | | | isConflict :: ConflictSet -> Bool | | | solutions :: Tree (State a, ConflictSet) -> [State a] | | | type Labeler a = CSP a -> Tree (State a) -> Tree (State a, ConflictSet) | | | search :: Labeler a -> CSP a -> [State a] | | | bt :: Labeler a | | | bj :: CSP p -> Tree (State p, ConflictSet) -> Tree (State p, ConflictSet) | | | unionCS :: [ConflictSet] -> ConflictSet | | | combine :: CSP p -> [(State p, ConflictSet)] -> [ConflictSet] -> ConflictSet |
|
|
|
| Basic CSP Types and Functions
|
|
| data Status |
| Constructors | | Instances | |
|
|
| type State a = (Status, [a]) |
|
| complete :: State a -> Bool |
|
| data CSP a |
|
|
| Test CSP
|
|
| controlCSP :: Control -> Relations -> (Paragraph -> Relations) -> CSP Paragraph |
| TODO addProvides -- see DQL.Exec
|
|
| testCSP :: FilePath -> (Paragraph -> Relations) -> String -> (CSP Paragraph -> IO a) -> IO a |
|
| depF :: Paragraph -> Relations |
|
| packageVersionParagraph :: Paragraph -> (String, DebianVersion) |
|
| conflict :: CSP p -> p -> p -> Bool |
|
| conflict' :: (String, DebianVersion) -> Relation -> Bool |
| JAS: deal with Provides (can a package provide more than one package?)
|
|
| Tree Helper Functions
|
|
| mkTree :: a -> [Tree a] -> Tree a |
|
| label :: Tree a -> a |
|
| initTree :: (a -> [a]) -> a -> Tree a |
|
| mapTree :: (a -> b) -> Tree a -> Tree b |
|
| foldTree :: (a -> [b] -> b) -> Tree a -> b |
|
| zipTreesWith :: (a -> b -> c) -> Tree a -> Tree b -> Tree c |
|
| prune :: (a -> Bool) -> Tree a -> Tree a |
|
| leaves :: Tree a -> [a] |
|
| inhTree :: (b -> a -> b) -> b -> Tree a -> Tree b |
|
| distrTree :: (a -> [b]) -> b -> Tree a -> Tree b |
|
| mkSearchTree
|
|
| mkSearchTree :: forall a . CSP a -> Tree (State a) |
|
| earliestInconsistency :: CSP a -> State a -> Maybe ((String, DebianVersion), (String, DebianVersion)) |
| earliestInconsistency does what it sounds like
the 'reverse as' is because the vars are order high to low, but we
want to find the lowest numbered (aka, eariest) inconsistency ??
|
|
| Conflict Set
|
|
| type ConflictSet |
|
|
| isConflict :: ConflictSet -> Bool |
|
| solutions :: Tree (State a, ConflictSet) -> [State a] |
|
| type Labeler a = CSP a -> Tree (State a) -> Tree (State a, ConflictSet) |
|
| search :: Labeler a -> CSP a -> [State a] |
|
| Backtracking Labeler
|
|
| bt :: Labeler a |
|
| BackJumping Solver
|
|
| bj :: CSP p -> Tree (State p, ConflictSet) -> Tree (State p, ConflictSet) |
bj - backjumping labeler
If the node already has a conflict set, then leave it alone.
Otherwise, the conflictset for the node is the combination of the
conflict sets of its direct children.
|
|
| unionCS :: [ConflictSet] -> ConflictSet |
|
| combine :: CSP p -> [(State p, ConflictSet)] -> [ConflictSet] -> ConflictSet |
|
| Produced by Haddock version 0.8 |