Add prospective data types for more complex item attachments
This commit is contained in:
@@ -19,8 +19,23 @@ import Dodge.DoubleTree
|
||||
type ComposedItemStructure
|
||||
= (Item,ComposedItem,[(ComposeLinkType,ComposedItem)], [(ComposeLinkType,ComposedItem)])
|
||||
|
||||
type PartiallyComposedItem = (Item,ItemStructuralFunction,LinkTest)
|
||||
|
||||
type CIL = (ComposedItem,[(ComposeLinkType,ComposedItem)], [(ComposeLinkType,ComposedItem)])
|
||||
|
||||
data LinkTest = LinkTest
|
||||
{ _tryLeftLink :: PartiallyComposedItem -> Maybe LinkUpdate
|
||||
, _tryRightLink :: PartiallyComposedItem -> Maybe LinkUpdate
|
||||
}
|
||||
|
||||
-- may want to upgrade the children's possible links as well, but this is not obvious
|
||||
data LinkUpdate = LinkUpdate
|
||||
{ _luLinkType :: ComposeLinkType
|
||||
, _luNewLinkTest :: LinkTest
|
||||
, _luParentUpdate :: (Item,PartiallyComposedItem) -> (Item,PartiallyComposedItem)
|
||||
, _luChildUpdate :: (Item,PartiallyComposedItem) -> (Item,PartiallyComposedItem)
|
||||
}
|
||||
|
||||
cisToItem :: ComposedItemStructure -> Item
|
||||
cisToItem (x,_,_,_) = x
|
||||
|
||||
|
||||
Reference in New Issue
Block a user