úÎ81èm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklNone& !"&-23459:;<=?@DFHJLOQRT[\]^abc(overns where data points go on the rangea newtype wrapped (a, a) tuple alternative constructor lens for the fst of the tuple lens for the snd of the tuple mid-value lensrange width lensmtheta is a bit like 1/infinity-determine whether a point is within the rangeis the range a singleton pointrange of a foldablešproject a data point from an old range to a new range project o n (view low o) == view low n project o n (view high o) == view high n project a a == id-turn a range into a list of n equally-spaced asturn a range into n a/s pleasing to human sense and sensibility the a5s may well lie outside the original range as a resulttake a list of (ascending) a‘s and make some (ascending) ranges based on OuterPos fromLinearSpace . linearSpace OuterPos == id linearSpace OuterPos . fromLinearSpace == id The unital object derives from:9view range one = one view mid zero = zero ie (-0.5,0.5)!Gtimes may well be some sort of affine projection lurking under the hood"natural interpretation of an a# as a `Range a` is a singular Range#,natural interpretation of a `Range a` as an a is the mid-point,]choosing the convex hull as plus seems like a natural choice, given the cute zero definition.0 mno !"#$%&'()*+,-  ) mno !"#$%&'()*+,-None%!"&-23459:;<=?@DFHJLOQRT[\]^abc3+a two-dimensional plane, bounded by ranges.6«an alternative specification; as a 4-dim vector `V4 x y z w` where: - (x,y) is the lower left corner of a rectangle, and - (z,w) is the upper right corner of a rectangle8-determine whether a point is within the range9+is the range a singleton V2 (has zero area)p$the range Rect of a container of R2s>(range specialized to double traversablesq>project a container of r2 points from an old Rect to a new one?=project a double container of r2s from the current Rect range@2project a Rect from an old Rect range to a new oner@project a container of Rects from an old Rect range to a new oneA&the range Rect of a container of RectsB8scale a double container of Rects from the current rangeC8scale a double container of Rects from the current rangeD1grid points on a rectange, divided up by a V2 IntEGa rectangle divided up by a V2 Int, making a list of smaller rectanglesOnatural interpretation of an a as an `Rect a`Xa convex hull approach)3456789:;<=p>q?@rABCDEFGHIJKLMNOPQRSTUVWX3456789:;<=>?@ABCDE3456=78:9;<>?A@BCDE'3456789:;<=p>q?@rABCDEFGHIJKLMNOPQRSTUVWXNone$!"&-23459:;<=?@DFHJLOQRT[\]^abc]^_`abcsdtuvwxefghij]^_`abcdefghij`abcde]^_hjifg]^_`abcsdtuvwxefghijy       !"#$%&'()*+,-./01234567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijklmnopqrstuvwxyz{|*numhask-range-0.0.2-1CS8jvySGVn3CTvAe4HhoCNumHask.Histogram NumHask.Range NumHask.Rectbase Data.OldListinsert LinearPosOuterPosInnerPosLowerPosUpperPosMidPosRangerange_...lowhighmidwidth singletonelementsingular intersectioncontainsrangeproject linearSpacelinearSpaceSensiblefromLinearSpace$fMetricRangea$fNormedRangea $fSignedRange%$fMultiplicativeLeftCancellativeRange&$fMultiplicativeRightCancellativeRange$fMultiplicativeInvertibleRange $fMultiplicativeAssociativeRange$fMultiplicativeUnitalRange$fMultiplicativeMagmaRange$fAdditiveHomomorphicaRange$fAdditiveHomomorphicRangea$fAdditiveGroupRange$fAdditiveInvertibleRange $fMonoidRange$fSemigroupRange$fAdditiveRange$fAdditiveCommutativeRange$fAdditiveAssociativeRange$fAdditiveUnitalRange$fAdditiveMagmaRange$fArbitraryRange $fEqRange $fOrdRange $fShowRange$fFunctorRange $fEqLinearPosRectxyrectmidRect elementRect singularRect singletonRectintersectionRect containsRectcornersrangeR2sscaleR2s projectRect rangeRects scaleRects scaleRectssgridPgrid$fMetricRectV2$fNormedRectV2 $fSignedRect%$fMultiplicativeRightCancellativeRect$$fMultiplicativeLeftCancellativeRect$fMultiplicativeInvertibleRect$fMultiplicativeAssociativeRect$fMultiplicativeUnitalRect$fMultiplicativeMagmaRect$fAdditiveHomomorphicV2Rect$fAdditiveGroupRect$fAdditiveInvertibleRect $fMonoidRect$fSemigroupRect$fAdditiveRect$fAdditiveCommutativeRect$fAdditiveAssociativeRect$fAdditiveUnitalRect$fAdditiveMagmaRect $fShowRect$fEqRect $fOrdRect $fFunctorRect DealOvers IgnoreOvers IncludeOvers Histogram_cuts_valuesfreqfillinsertWinsertWsfromHistlabelshist$fShowHistogram $fEqHistogramthetatwohalfrangeR2 projectR2 projectRectsfreq'countcountW countBoolhistMaphistMapW