ContentsIndex
Core.DerivationTree
Synopsis
module Core.Defs
data DTree prog = DTree {
tree :: (Tree (DNode prog))
nextTag :: Integer
pos :: NodePos
}
data DNode prog = DNode {
dTag :: String
dApp :: (RuleApp prog)
dSel :: Region
}
mkDTree :: prog -> DTree prog
go :: String -> DTree prog -> Maybe (DTree prog)
move :: Int -> DTree prog -> Maybe (DTree prog)
setActiveTag :: String -> DTree prog -> DTree prog
setActiveSelection :: Region -> DTree prog -> DTree prog
extend :: RuleApp prog -> DTree prog -> DTree prog
getActiveTag :: DTree prog -> String
getActiveApp :: DTree prog -> RuleApp prog
getActiveSelection :: DTree prog -> Region
discardActiveNode :: DTree prog -> DTree prog
updateCondition :: Int -> Condition -> DTree prog -> DTree prog
updateOrigins :: DTree prog -> DTree prog
hasTag :: DNode prog -> String -> Bool
discardDNode_ :: NodePos -> DTree prog -> DTree prog
updateActiveNode :: (DNode prog -> DNode prog) -> DTree prog -> DTree prog
Documentation
module Core.Defs
data DTree prog
Constructors
DTree
tree :: (Tree (DNode prog))
nextTag :: Integer
pos :: NodePos
show/hide Instances
??? prog => Show (DTree prog)
??? prog => Typeable (DTree prog)
data DNode prog
Constructors
DNode
dTag :: String
dApp :: (RuleApp prog)
dSel :: RegionCurrent selection. May assume that it is valid in respect to the current program.
show/hide Instances
??? prog => Show (DNode prog)
mkDTree :: prog -> DTree prog
go
:: Stringtag
-> DTree prog
-> Maybe (DTree prog)
move :: Int -> DTree prog -> Maybe (DTree prog)
setActiveTag :: String -> DTree prog -> DTree prog
setActiveSelection :: Region -> DTree prog -> DTree prog
The Region must be valid in respect to the current program.
extend :: RuleApp prog -> DTree prog -> DTree prog
Add the node at the current position and advance to this node.
getActiveTag :: DTree prog -> String
getActiveApp :: DTree prog -> RuleApp prog
getActiveSelection :: DTree prog -> Region
discardActiveNode :: DTree prog -> DTree prog
Discard the node and reduce the current position by 1.
updateCondition :: Int -> Condition -> DTree prog -> DTree prog
updateOrigins :: DTree prog -> DTree prog
Set the origin field of each node to the result of the previous node. This can be used after load to reduce space usage and improve consistency if the file gets corrupted.
hasTag :: DNode prog -> String -> Bool
discardDNode_ :: NodePos -> DTree prog -> DTree prog
Doesn't check bounds.
updateActiveNode :: (DNode prog -> DNode prog) -> DTree prog -> DTree prog
Produced by Haddock version 0.8