Hets - the Heterogeneous Tool Set

Copyright(c) Christian Maeder, DFKI GmbH 2009
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilitynon-portable(Logic)
Safe HaskellNone

Static.History

Description

functions to keep the history entries in sync with the actual graph changes

Synopsis

Documentation

groupHistory :: DGraph -> DGRule -> DGraph -> DGraph

group pushd changes, leave history of old graph unchanged

changeDGH :: DGraph -> DGChange -> DGraph

change the given DGraph and the history with the given DGChange.

changesDGH :: DGraph -> [DGChange] -> DGraph

change the given DGraph with a list of changes

updateDGOnly :: DGraph -> DGChange -> (DGraph, DGChange)

change the given DGraph with given DGChange and return a new DGraph and the processed DGChange as well.

negateChange :: DGChange -> DGChange

negate change

getLastChange :: DGraph -> DGChange

get most recent change

reverseHistory :: SizedList HistElem -> SizedList HistElem

reverse the history list

splitHistory :: DGraph -> DGraph -> (ProofHistory, ProofHistory)

get the old history and the new offset

applyProofHistory :: SizedList HistElem -> DGraph -> DGraph

apply the reversed changes to the graph and add them to the history

togglePending :: DGraph -> [LEdge DGLinkLab] -> DGraph

toggle the pending flag of the input edges

justTogglePending :: DGraph -> [LEdge DGLinkLab] -> DGraph

toggle the pending flag of the input edges (without history change)

clearHistory :: DGraph -> DGraph

forget history