úÎ!T/Iø      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·Safe27Ì strictThe strict choice type.strictCase analysis: if the value is  a, apply the first function to a ; if it is  b, apply the second function to b.strictYields ¸! iff the argument is of the form Left _.strictYields ¸! iff the argument is of the form Right _.strictExtracts the element out of a + and throws an error if the argument is a .strictExtracts the element out of a + and throws an error if the argument is a .strict Analogous to  in  Data.Either. strict Analogous to   in  Data.Either. strict Analogous to   in  Data.Either.   Safe27‚ *strict#The type of strict optional values.-strictYields ¸! iff the argument is of the form Just _..strictYields ¸ iff the argument is +./strictExtracts the element out of a ,) and throws an error if the argument is +.0strictGiven a default value and a *", yield the default value if the * argument is +" and extract the value out of the , otherwise.1strict(Given a default value, a function and a *) value, yields the default value if the * value is +6 and applies the function to the value stored in the , otherwise.2strict Analogous to   in  Data.Maybe.3strict Analogous to   in  Data.Maybe.4strict Analogous to   in  Data.Maybe.5strict Analogous to  in  Data.Maybe. *+,-./012345 *+,-./012345Safe27*ýKstrictThe strict these type.OstrictCase analysis for the K type.Pstrict.Takes two default values and produces a tuple.Qstrict%Coalesce with the provided operation.Rstrict¹2 and coalesce results with the provided operation.Sstrict?Select each constructor and partition them into separate lists.TstrictSelect here and there1 elements and partition them into separate lists.UstrictLike º but for » types.either all are ¼either all are ½or there is both ¼ and ½ stuffNote:y this is not online algorithm. In the worst case it will traverse the whole list before deciding the result constructor.,partitionEithersNE $ Left 'x' :| [Right 'y']These ('x' :| "") ('y' :| "").partitionEithersNE $ Left 'x' :| map Left "yz"This ('x' :| "yz")KNLMOPQRSTUVWXYKNLMOPQRSTUVWXYSafe27UV5’ |strictThe type of strict pairs.~strict-Extract the first component of a strict pair.strict.Extract the second component of a strict pair.€strict!Curry a function on strict pairs.strict9Convert a curried function to a function on strict pairs.‚strict Analagous to  from  Data.Tupleƒstrict,Zip for strict pairs (defined with zipWith).„strict2Unzip for stict pairs into a (lazy) pair of lists.†strictNreadsPrec2 0 "'a' :!: ('b' :!: 'c')" :: [(Pair Char (Pair Char Char), String)][('a' :!: ('b' :!: 'c'),"")]NreadsPrec2 0 "('a' :!: 'b') :!: 'c'" :: [(Pair (Pair Char Char) Char, String)][(('a' :!: 'b') :!: 'c',"")] {|}~€‚ƒ„ |}{~€‚ƒ„{2}2Safe@AC:¢§strictFAd hoc conversion between "strict" and "lazy" versions of a structure.JUnfortunately all externally defined instances are doomed to be orphans:  1https://gitlab.haskell.org/ghc/ghc/-/issues/11999 See also  4https://qfpl.io/posts/orphans-and-fundeps/index.html for§¨©§¨©Safe:ð3 *+,-./012345KNLMOPQRSTUVWXY{|}~€‚ƒ„§¨©(c) Don Stewart 2007/BSD-style (see the file libraries/base/LICENSE)dons@galois.comstableportableSafeIŸ´strict Computation ´ hdlh returns the list of characters corresponding to the unread portion of the channel or file managed by hdl, which is immediate closed..Items are read strictly from the input Handle.This operation may fail with: isEOFError% if the end of file has been reached.µstrictThe µW operation returns all user input as a single string, which is read stirctly (same as ´ stdin).¶strictThe ¶# function takes a function of type String->String³ as its argument. The entire input from the standard input device is passed to this function as its argument, and the resulting string is output on the standard output device.·strictThe ·n function reads a file and returns the contents of the file as a string. The file is read strictly, as with µ.´µ¶·´µ·¶¾   !"#$%&'()*+,-./0123456789:;<=>?   @ABCDEFGHIJKLMNOPQRSTUVWUXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…„†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÂÅ ÂÆÇÂÅÂÅÈ!strict-0.4-DcORXBfkCIx3v5lLd1UYReData.Strict.EitherData.Strict.MaybeData.Strict.TheseData.Strict.TupleData.Strict.ClassesSystem.IO.StrictLleftsrightspartitionEithers listToMaybe maybeToList catMaybesmapMaybeswap Data.StrictEitherLeftRighteitherisLeftisRightfromLeft fromRight $fRead1Either $fRead2Either $fShow2Either $fShow1Either $fOrd1Either $fOrd2Either $fEq1Either $fEq2Either $fSwapEither $fAssocEither$fHashable2Either$fHashable1Either$fHashableEither$fBitraversableEither$fBifoldableEither$fBifunctorEither$fBinaryEither$fNFData2Either$fNFData1Either$fNFDataEither$fSemigroupEither$fTraversableEither$fFoldableEither$fFunctorEither $fEqEither $fOrdEither $fReadEither $fShowEither $fDataEither$fGenericEither$fGeneric1EitherMaybeNothingJustisJust isNothingfromJust fromMaybemaybe $fRead1Maybe $fShow1Maybe $fOrd1Maybe $fEq1Maybe$fHashable1Maybe$fHashableMaybe $fBinaryMaybe$fNFData1Maybe $fNFDataMaybe$fTraversableMaybe$fFoldableMaybe$fFunctorMaybe $fMonoidMaybe$fSemigroupMaybe $fEqMaybe $fOrdMaybe $fReadMaybe $fShowMaybe $fDataMaybe$fGenericMaybe$fGeneric1MaybeTheseThisThatthese fromThese mergeThesemergeTheseWithpartitionThesepartitionHereTherepartitionEithersNEdistrThesePairundistrThesePairdistrPairTheseundistrPairThese$fHashable2These$fHashable1These$fHashableThese $fBinaryThese$fNFData2These$fNFData1These $fNFDataThese $fAssocThese $fSwapThese $fRead1These $fRead2These $fShow2These $fShow1These $fOrd1These $fOrd2These $fEq1These $fEq2These $fMonadThese$fApplicativeThese$fBitraversableThese$fBifoldableThese$fBifunctorThese$fTraversableThese$fFoldableThese$fFunctorThese$fSemigroupThese $fEqThese $fOrdThese $fReadThese $fShowThese $fDataThese$fGenericThese$fGeneric1These:!:Pairfstsndcurryuncurryzipunzip $fRead1Pair $fRead2Pair $fShow2Pair $fShow1Pair $fOrd1Pair $fOrd2Pair $fEq1Pair $fEq2Pair $fSwapPair $fAssocPair$fHashable2Pair$fHashable1Pair$fHashablePair$fBitraversablePair$fBifoldablePair$fBifunctorPair $fBinaryPair $fNFData2Pair $fNFData1Pair $fNFDataPair $fMonoidPair$fSemigroupPair$fTraversablePair$fFoldablePair $fFunctorPair$fEqPair $fOrdPair $fReadPair $fShowPair $fDataPair $fGenericPair $fBoundedPair$fIxPair$fGeneric1PairStricttoStricttoLazy$fStrictWriterTWriterT$fStrictStateTStateT$fStrictRWSTRWST $fStrictSTST$fStrictTextText$fStrictByteStringByteString$fStrictTheseThese$fStrictEitherEither$fStrict(,)Pair$fStrictMaybeMaybe hGetContents getContentsinteractreadFileghc-prim GHC.TypesTruebaseData.Bifunctorbimap Data.EitherGHC.BaseNonEmpty