h&(P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred> None >? versetThe  function outputs a value of any printable type to the standard output device. Printable types are those that are instances of class 0; 2 converts values to strings for output using the  operation and adds a newline.For example, a program to print the first 20 integers and their powers of 2 could be written as: (main = print ([(n, 2^n) | n <- [0..19]])Note!: This function is lifted to the  class.verset1Throw an undefined error. Use only for debugging.versetAn infix form of  with arguments flipped.verset() lifted to an 5. pass = ! ()versetThe  function outputs the trace message given as its first argument, before returning the second argument as its result.'For example, this returns the value of f x but first outputs the message. -trace ("calling f with x = " ++ show x) (f x)The  function should only be used for debugging, or for monitoring execution. The function is not referentially transparent: its type indicates that it is a pure function but it has the side effect of outputting the trace message.versetLike $ but returning unit in an arbitrary 54 context. Allows for convenient use in do-notation.Note that the application of  is not an action in the 5 context, as  is in the  type. While the fresh bindings in the following example will force the + expressions to be reduced every time the do-block is executed, traceM "not crashed" would only be reduced once, and the message would only be printed once. If your monad is in , traceIO may be a better option. ... = do x <- ... traceM $ "x: " ++ show x y <- ... traceM $ "y: " ++ show yversetLike  , but uses $ on the argument to convert it to a .This makes it convenient for printing the values of interesting variables or expressions inside a function. For example here we print the value of the variables x and z: f x y = traceShow (x, z) $ result where z = ... ...versetLike  , but uses $ on the argument to convert it to a . ... = do x <- ... traceShowM $ x y <- ... traceShowM $ x + yversetThe  function outputs the trace message from the IO monad. This sequences the output with respect to other IO actions.versetLike 6 but returns the shown value instead of a third value.versetLike 2 but returns the message instead of a third value.verset8The identity function, returns the give value unchanged.#$ %&' ()*+,-./012345! "6789:;?@ABCDEFGRSHWYXIJKLMNOUVPZ[\_]^`cbafedihglkjmnoqprstuvywx}|{z~`*-(' &/.0,%~+HWYX$ #ihglkjfedcba:;_]^\[Z675! "2)}|{zywxuvtrsqpnom891PI314        !"#$%&'()* + , - . / 0 1 23456789 :;<=>?6@ABCDE!FGH#I JKLMNOPOQ R STUTVTWTXTYZ[Z\Z]Z^_`abcdeTfTgThijikilimnoTpTqdrdsTtnunvTwTxTyz{z|z}z~zz))))))))))))))MMMMMKKKKKKKKKKKKKKKKKKKKKKKKKKnnnnnnnn66666666666666666666666666666666                            verset-0.0.1.5-inplaceVerset Verset.Convghc-primGHC.PrimseqbaseGHC.Listfilterzip Data.TuplefstsndGHC.Base otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negate>>=>>fmapControl.Monad.Fixmfix Data.String fromString fromIntegral realToFrac toInteger toRational Control.Monadguard<>memptymappendmconcatjoin<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeableMonadFixControl.Monad.Fail MonadFailIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGenericGeneric1 SemigroupMonoid GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64integer-wired-inGHC.Integer.TypeInteger GHC.NaturalNatural GHC.MaybeMaybeOrderingIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherTypeFalseNothingJustTrueLeftRightLTEQGTData.Functor.Contravariant>$$<>$<$<>$ contramap Contravariant Data.VoidVoidData.SemigroupgetMinMingetMaxMaxgetFirstFirstgetLastLastControl.Concurrent forkFinallyData.Bitraversablebifor bisequenceA bitraverse BitraversableData.Bifoldable bisequenceA_bifor_ bitraverse_bifoldl'bifoldr'bifoldr bifoldMap BifoldableData.Bifunctorsecondfirstbimap BifunctorData.Functor.ClassesEq1Ord1Read1Show1Eq2Ord2Read2Show2Data.List.NonEmptycyclescanr1scanl1some1initlasttailheadControl.Monad.IO.ClassliftIOMonadIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM mapAccumR mapAccumLfor sequenceAtraverseControl.Applicativeoptional getZipListZipListData.Functor.Identity runIdentityIdentity GHC.Conc.IO threadDelay GHC.Conc.Sync myThreadIdforkIOThreadIdGHC.IOFilePathGHC.Exception.Type ExceptionData.Functor.ConstgetConstConstfindnotElemallanyorand concatMapconcatasum sequenceA_for_ traverse_foldlMfoldrMproductsumelemlengthnulltoListfoldl'foldlfoldr'foldrfoldMapfoldData.Semigroup.InternalgetDualDualappEndoEndogetAllAllgetAnyAnygetAltAlt Data.OldListunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroup transpose intercalate intersperse isSuffixOf isPrefixOf dropWhileEnd Text.Read readMaybe fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDown Data.ProxyProxyControl.Category>>><<<.CategoryatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix Data.BitstoIntegralSized^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumunzip3unzipzipWith3zipWithzip3lookupreversebreakspansplitAtdroptake dropWhile takeWhile replicaterepeatiterate'iteratescanrscanl Data.MaybemapMaybe catMaybes fromMaybe isNothingisJustmaybe Data.Boolbool Data.Function&onfix Data.Functorvoid$><&><$>swapuncurrycurrysubtractsignumabs*+$!flipconstapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3<**>stimessconcat<$<*liftA2many<|>empty Alternative:|NonEmptyGHC.Stack.Types HasCallStack SomeExceptioncompare<<=>maxmin/=&&||notbytestring-0.10.12.0Data.ByteString.Internal ByteStringcontainers-0.6.5.1Data.Map.InternalMapData.Set.InternalSettransformers-0.5.6.2Control.Monad.Trans.Classlift MonadTrans text-1.2.4.1Data.Text.InternalText time-1.9.3&Data.Time.LocalTime.Internal.LocalTime LocalTime Data.Time.Clock.Internal.UTCTimeUTCTime(Data.Time.Clock.Internal.NominalDiffTimeNominalDiffTime StringConvstrConvLeniencyLenientStricttoStoSL$fStringConvTextByteString$fStringConvTextByteString0$fStringConvTextText$fStringConvTextText0$fStringConvText[]$fStringConvTextText1$fStringConvTextText2$fStringConvTextByteString1$fStringConvTextByteString2$fStringConvText[]0$fStringConvByteStringText$fStringConvByteStringText0 $fStringConvByteStringByteString!$fStringConvByteStringByteString0$fStringConvByteString[]$fStringConvByteStringText1$fStringConvByteStringText2!$fStringConvByteStringByteString1!$fStringConvByteStringByteString2$fStringConvByteString[]0$fStringConv[]Text$fStringConv[]Text0$fStringConv[]ByteString$fStringConv[]ByteString0$fStringConv[][] $fEqLeniency$fShowLeniency $fOrdLeniency$fEnumLeniency$fBoundedLeniencyextra-1.7.10-1610323fb547e8d48f4550683b4b4100c8c7dd00f782098cf555b9fd058ff9ffControl.Monad.Extra&&^allMandManyM concatMapMifMorMunlessMwhenM||^Data.Either.Extra eitherToMaybe maybeToEitherData.List.ExtrabreakOn breakOnEnddropEndgroupOn groupSort groupSortBy groupSortOnnubOrdnubOrdBynubOrdOnspanEndsplitsplitOntakeEnd takeWhileEndsafe-0.3.19-96db9afdb34858e41fa805ba0239132af90db0cda0587c39c89320b6a43c858bSafecycleDefcycleMayheadDefheadMayinitDefinitMaylastDeflastMaypredDefpredMaysuccDefsuccMaytailDeftailMay toEnumDef toEnumMay Safe.Foldable foldl1May foldr1May maximumBoundmaximumBoundBymaximumBounded maximumByMay maximumMay minimumBoundminimumBoundByminimumBounded minimumByMay minimumMayuuid-types-1.0.5-866cbc843b6aff6dc86f808c01cee04ba16d698b770cfef24b19beedbb412138Data.UUID.Types.InternalUUIDPrinthPutStrputStr hPutStrLnputStrLnputErrLnprint undefined?:passtracetraceM traceShow traceShowMtraceIO traceShowIdtraceIdidentity<<$>>putTextputLText putByteStringputLByteString putErrTextshowordNubatMay $fPrint[]$fPrintByteString$fPrintByteString0 $fPrintText $fPrintText0String