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? smappingsA 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. svutwxyz{| svutwxyz{| Safe-Inferred mappings=inserts key with value only if absent, returns map if changedmappings;For use in maps where we don't want to store default valuesmappingsHelper function (not exported) Safe-Inferred? mappings7Mappings constant except on an enumerated set of valuesmappings)This instance assumes that k is unboundedIt would be possible to do something valid in greater generality (for example, a MaybeBounded class), which might be a good idea. 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 functionmappingsHow many values are true in a decision diagram with integer leaves?mappingsHow many values are True in a binary decision diagram with integer leaves?mappings,Assignments of variables that result in TruemappingsAll true values (may be a very long list even for reasonable Decisions)mappingsWhat is the best assignment of keys to values resulting in a value on which p is ?mappingsBuild a sequence from key-value pairs; we take on trust that all values are represented once.mappings*A decision tree based on a single decisionmappings8A building block for BDD's - tests if a variable is truemappings+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 decisionmappings2In the list of decisions, how far apart are these?mappingsThe first possible decisionmappingsThe last possible decisionmappingsThe count of a valuemappingsHow to combine counts at a nodemappingsThe input decision diagrammappings The count88 Safe-Inferred        !""#$$%&''()**+,--.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~'mappings-0.2.2.0-3PUKorgfLFjGwKPWV65s4oData.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$fBooleanConstant $fNumConstant$fMonoidConstant$fSemigroupConstant$fNeighbourlyConstant$fMappingkConstant$fFoldableConstant$fNeighbourlyOnBool$fMappingBoolOnBool$fTraversableOnBool$fFoldableWithIndexBoolOnBool$fFoldableOnBool$fMappingMaybeOnMaybe$fFoldableWithIndexMaybeOnMaybe$fFoldableOnMaybe$fMappingEitherOnEither!$fFoldableWithIndexEitherOnEither$fFoldableOnEither$fMapping(,)OnPair$fFoldableOnPair$fPartialOrdOrdWrapper$fPartialOrdPartialOrdWrapper $fEqOnPair $fOrdOnPair $fEqOnEither $fOrdOnEither $fEqOnBool $fOrdOnBool $fShowOnBool$fFunctorOnBool$fBooleanOnPair $fNumOnPair$fMonoidOnPair$fSemigroupOnPair$fBooleanOnEither $fNumOnEither$fMonoidOnEither$fSemigroupOnEither$fBooleanOnMaybe $fNumOnMaybe$fMonoidOnMaybe$fSemigroupOnMaybe$fBooleanOnBool $fNumOnBool$fMonoidOnBool$fSemigroupOnBool PiecewiseleftEndstartspiecewiseFromAscchangeAtatLeastlessThan fromAscListvalues$fNeighbourlyPiecewise$fMappingkPiecewise$fFoldablePiecewise$fShowPiecewise $fEqPiecewise$fOrdPiecewise$fBooleanPiecewise$fNumPiecewise$fMonoidPiecewise$fSemigroupPiecewiseinsertIfAbsent nonDefaultequatingMapWithDefaultcommon exceptionsfromListfromListWithKey$fNeighbourlyMapWithDefault$fMappingkMapWithDefault$fFoldableMapWithDefault$fShowMapWithDefault$fEqMapWithDefault$fOrdMapWithDefault$fBooleanMapWithDefault$fNumMapWithDefault$fMonoidMapWithDefault$fSemigroupMapWithDefaultBuilder leavesMapnodesMapfromOldBaseMaponLeavesonNodesDecisionbasestartBaseleavesnodesNode nodeDecision nodeBranch baseLengthdecisionLengthbindexclosure baseRecursedecisionRecurse generalCountsnumberTrueGeneral numberTrue chunksTruelistTrue bestSuchThat fromKeyVals emptyBuilderaddLeafaddNode makeBuilder buildBase buildDecision singleNodegenTesttestbuildAllbuildAny baseTraversebaseMap baseTransformdecisionTransformrestrict baseGenMerge baseMergeA baseMergecheckBijection findBijection debugShow$fFoldableBase$fNeighbourlyDecision $fOrdDecision $fEqDecision$fMappingFUNDecision$fFoldableDecision$fBooleanDecision $fNumDecision$fMonoidDecision$fSemigroupDecision $fOrdNode$fEqNode&partialord-0.0.2-4bFe1gCUxIzf75C8rHn1CData.PartialOrd PartialOrdghc-prim GHC.ClassesOrd Data.FoldableFoldable GHC.TypesTrueBoolversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir