Îõ³h&¹ "      ! Safe-Inferred8Ú interval-tree-clockA happened before B.interval-tree-clockA happened after B.interval-tree-clock+A happened concurrent to B in logical time. interval-tree-clockÃThe seed stamp. The first peer is to use this, then fork others. interval-tree-clockúuse to register new peers. one stamp must be consecutively owned be the forking peer. the other stamp owned by host.interval-tree-clockÍinverse of fork. s = uncurry join (fork s) Note that the internal call to "â may be partial, if the ITC Stamp was constructed through direct constructor usage. Using only   and Æ as the safe API to create stamps will not lead to this inconsistency.interval-tree-clockÏAnonymizes this stamp. Useful when sending messages or logging debug stamps.interval-tree-clockÆwhen something happened on this peer. use the new stamp afterwards.interval-tree-clock¬Compare two stamps. Note that stamp is not an instance of Ord because a <= b and b <= a does not imply a = b: rather that a happened concurrent to b per logical time.interval-tree-clock´the `happened before` relation for two stamps. (Note that I am unsure whether this is really the same relation as described by Lamport). Use this to examine causality of stamps.      Safe-Inferred interval-tree-clockÇpretty print a stamp, mathematical notation like in the original paper.!interval-tree-clockÞprints a stamp as a tikz picture for latex usage. This mostly aided me in visual debugging. ! !#        !"#$#interval-tree-clock-0.1.0.2-inplaceData.Clock.IntervalTreeData.Clock.IntervalTree.FormatStampComparisonBeforeAfter ConcurrentITCEventITCEventBranch ITCEventLeafITCId ITCIdBranchStampseedforkjoinpeekevent stampComparehappenedBefore$fEqCost $fOrdCost$fEqStampComparison$fShowStampComparison $fEqStamp $fShowStamp$fGenericStamp $fEqITCEvent$fShowITCEvent$fGenericITCEvent $fEqITCId $fShowITCId$fGenericITCIdfmtStamp fmtStampTikzsumId