h&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredmappingsA newtype, just to get a partial monoidal structure representing consistent unions.mappings*Don't check consistency, just take a unionmappings)Don't check consistency, just take a diff   Safe-Inferred?= mappingsA wrapper to allow defining + instances on mappings whose keys have an  instance.mappings Maps on pairs!mappingsMaps on Either%mappings Maps on Maybe)mappings.Binary decisions, as functions defined on Bool-mappings"Constant functions (on any domain)0mappingsA wrapper for representing pointwise algebraic structures on a Mapping9Eventually would like to use this only for "deriving via"3mappingsA class representing data structures which have a concept of neighbouring values5mappingsIf  Mapping k m, then m v represents a function k -> v.5 requires an instance of , folding over the values that appear. Given that a value can be associated with a very large collection of keys, the only folds that normally make sense are those over idempotent monoids.=mappings$A simultaneous foldMap over two maps>mappings.What values can these two take simultaneously?) !$#"%('&),+*-/.021345:9876;<=>?@)5:9876;<=>34021-/.),+*%('&!$#" ?@ Safe-Inferred \mappingsA data structure storing mappings that are constant on intervals.If the space of keys not discrete, then these mappings are right-continuous: values are in general defined on intervals $a leq x < b$ which are closed on the left and open on the right. \_^]`abcde \_^]`abcde Safe-Inferred lmappings=inserts key with value only if absent, returns map if changedmmappings;For use in maps where we don't want to store default valuesnmappingsHelper function (not exported)lmnlmn Safe-Inferred pomappings7Mappings constant except on an enumerated set of valuesumappings)This instance assumes that k is unboundedoqrpstoqrpst Safe-Inferred"{mappings7A data structure for work-in-progress decision diagramsmappings A value for every node of a basemappings(A decision diagram with a starting pointmappingsA decision diagram (with no preferred starting point), containing leaves (representing final values of the decision process) indexed from -1 downwards, and nodes (representing the need to scrutinise a value) indexed from 0 upwardsmappingsA node of a decision diagram: which value do we scrutinise, and what do we do with it?mappingsIndex a BaseMapmappingsClose a set under an operationmappings.A general kind of recursive function on a Basemappings2A general kind of recursive function on a DecisionmappingsA general counting function3Not sure if this is the best way of laying this outmappings6How many values are True in a binary decision diagram?mappingsBuild a sequence from key-value pairs; we take on trust that all values are represented once.mappings8A building block for BDD's - tests if a variable is true1Again, would be nice to remove the AlgebraWrappermappings+Test if a variable is true (specialised to )mappings*Rapidly take the conjunction of the inputsmappings*Rapidly take the disjunction of the inputsmappingsTraverse basesmappings Map basesmappingsA more general map for %, where the shape of nodes can changemappingsA more general map for %, where the shape of nodes can changemappingsFill in some values of a map > act (restrict h d) f = let > f' x = case h x of > Just y -> y > Nothing -> f x > in act d f'mappings$A general function for merging basesmappings)Merge two bases in an applicative functormappingsMerge two basesmappings Attempt to extend to a bijectionmappingsAre these Decisions isomorphic?mappings"Output the structure of a DecisionmappingsFolds over *all* the leaves; not something you want to do to an arbitrary basemappingsA ludicrously short definition!mappingsWhat to do on a valuemappingsWhat do do on a nodemappings Input basemappingsWhat to do on a valuemappingsWhat do do on a nodemappingsInput decision2{~}|2{~}| Safe-Inferred        !""#$$%&''()**+,--.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]^_`abcdefghijkllmnopqrstuvwwxyz{{|}~~'mappings-0.0.2.0-DJcuqllGDjL8Z5ZIH0JGskData.Bijection Data.MappingData.Mapping.PiecewiseData.Mapping.UtilData.Mapping.MapWithDefaultData.Mapping.DecisionPaths_mappingsMaybeBij getMaybeBijBij rightwards leftwardscompatibleInsertcompatibleUnionempty singletonmatchcombinepop unsafeUnionunsafeDifference msingletoncloseBijection$fMonoidMaybeBij$fSemigroupMaybeBij $fEqMaybeBij $fOrdMaybeBij$fEqBij$fOrdBijPartialOrdWrappergetPartialOrdMapping OrdWrapper getOrdMappingOnPair asCompositeOnEitheronLeftonRightOnMaybe onNothingonJustOnBoolonFalseonTrueConstant constantValueAlgebraWrapper algebraUnwrap Neighbourly neighboursMappingcstactisConst mtraversemmapmergeAmerge pairMappings mutualValuesisSubset isDisjoint$fBooleanAlgebraWrapper$fNumAlgebraWrapper$fMonoidAlgebraWrapper$fSemigroupAlgebraWrapper$fNeighbourlyConstant$fMappingkConstant$fFoldableConstant$fNeighbourlyOnBool$fMappingBoolOnBool$fTraversableOnBool$fFoldableOnBool$fMappingMaybeOnMaybe$fFoldableOnMaybe$fMappingEitherOnEither$fFoldableOnEither$fMapping(,)OnPair$fFoldableOnPair$fPartialOrdOrdWrapper$fPartialOrdPartialOrdWrapper $fEqOnPair $fOrdOnPair $fEqOnEither $fOrdOnEither $fEqOnBool $fOrdOnBool $fShowOnBool$fFunctorOnBool PiecewiseleftEndstartspiecewiseFromAscchangeAtatLeastlessThan fromAscListvalues$fNeighbourlyPiecewise$fMappingkPiecewise$fFoldablePiecewise$fShowPiecewise $fEqPiecewise$fOrdPiecewiseinsertIfAbsent nonDefaultequatingMapWithDefaultcommon exceptionsfromListfromListWithKey$fNeighbourlyMapWithDefault$fMappingkMapWithDefault$fFoldableMapWithDefault$fShowMapWithDefault$fEqMapWithDefault$fOrdMapWithDefaultBuilder leavesMapnodesMapfromOldBaseMaponLeavesonNodesDecisionbasestartBaseleavesnodesNode nodeDecision nodeBranchbindexclosure baseRecursedecisionRecurse genCounts numberTrue fromKeyVals emptyBuilderaddLeafaddNode makeBuilder buildBase buildDecision singleNodegenTesttestbuildAllbuildAny baseTraversebaseMap baseTransformdecisionTransformrestrict baseGenMerge baseMergeA baseMergecheckBijection findBijection debugShow$fFoldableBase$fNeighbourlyDecision $fOrdDecision $fEqDecision$fMappingFUNDecision$fFoldableDecision $fOrdNode$fEqNode'partialord-0.0.2-KSbRG1yBKvSHQVt07OVgnjData.PartialOrd PartialOrdghc-prim GHC.ClassesOrd Data.FoldableFoldable GHC.TypesBoolversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir