úÎVÓR»5      !"#$%&'()*+, - . / 0 1 2 3 4  Safe-InferredMzEvaluate to weak head normal form and catch exceptions which can be raised by errors in pure computation. See also the Test.ChasingBottoms.IsBottom" module in ChasingBottoms package.6Make sure that the error message is a concrete String. Safe-Inferred+ Abstract data structure used by  and .5Nothing : the timeout happened already Just xs: there is time left xs* contains the list of threads for which a TimeoutException4 will be thrown when the time is over. 6 is needed to compute the Double parameter of the exception.7timeout exceptionThe Double parameter documented at . Creates a .The Double@ parameter is the time limit in seconds. All operations behind ; will be stopped at the current time plus the time limit.%Stop an operation at a time given by .The Double( parameter is a percent between 0 and 1.0:  was called right after the  was created.1: * was called after the time of the timeout. near to 1: 1 was called right before the time of the timeout.>Other values: proportional to the time spend by the operation.578=knows the time of the timeout and the creation time of itselfCtimeout handling action for which will the percent will be suppliedthe operation to timeout9:5789: Safe-InferredA  contains a time and size limit.Size limit is an ; which meaning is given by   and  .Time limit is a <& which is the allowed time in seconds. Create a new budget. BCheck budget and take another action if there is no more resource.  Decrement free size in a budget.= %decrement size budget with this valuewhat to do in case of timeout (<&: percent when the thread was started)*what to do in case there is no more space what to do in a normal case /funtion to modify free size and produce a value   =  Safe-Inferred>Run an IO8 computation in parallel. The result will appear in the MVar. Run two IO3 computations in parallel and wait for the results. Run three IO3 computations in parallel and wait for the results. Run four IO3 computations in parallel and wait for the results.6Run computations in parallel and wait for the results.>   >  Safe-Inferred+Representation of ? values.used during show?also caused by space shortage but this omission a relevant part2this is caused space shortage, shown as three dots timeout, the Double is between 0 and 1. 70: evaluation of subexpression started at the beginningItowards 1: evaluation of subexpression started near the end of time limit>1: evaluation of subexpression started after time limit (rare).error message which may contain further errorsexception error message$Name and precedence of constructors.empty list constructornonempty list constructortuple with n elements character literal!(used also for literals except characters""Arity of the toplevel constructor.@%Extract the name and precedence of a ? value.AžLimit the length of a string by replacing the middle of the string by an ellipsis. The function returns the limit reduced by the final length of the string.# Convert a ? value to  given the ) representations of the value's children. !"@A#BCD !"#! #" ! "@A#BCD Safe-InferredF$IsString instance for / instance IsString Doc where fromString = text=Show a character literal. Unicode characters are not escaped.%IShow a character in a string literal. Unicode characters are not escaped.&Convert  to .$%&$%&$%&$%& Safe-InferredME True for ,  and  constructors. Used in '.'#Try to hide some part of the value.ŠThis is used in the evaluation of exercises, when the result is wrong. We would like to show the erroneous part but not the whole result.(Collect and number _ values and replace them by an indexed bottom sign. Repeated errors will get the same number.E'()'()'()E'() Safe-Inferred*#Evaluation with time an size limit.+%Gives more control over the resources*+*+*+*+  Safe-Inferred+:M,Answer with possibility/: noF d/: maybe with d possibility (0-1, 1 denotes yes)-: yes0Show an , as an equality operator.1 Compare two ? value with time and size limit.GHI,-./01"time limit for comparison decision*time limit for highlighting the difference)size limit for the output (in characters) first value second valueJKLMN,-./01,/.-01 GHI,/.-01JKLMN  Safe-Inferred2Prettyprint a ? value.]There is a 1 second time limit and the output contains at most approximately 500 characters.CThe exceptions are shown as bottom signs followed by explanations.3Prettyprint a ? value, showing up to approximately the specified number of characters. Use this to show more than the default pprint allows.4 Compare two ? values.>The can be yes, no or maybe. The differences are highlighted.]There is a 1 second time limit and the output contains at most approximately 500 characters.CThe exceptions are shown as bottom signs followed by explanations.234O234234234O4P   !"#$%&'()*+,-./012345678 9 : ; < = > ? @ ABCDEFFGHIJKIJLMNOPQR8STUNV; W X X Y Z [ \ ] ^_data-pprint-0.2.4Data.Data.GenRep.DocControl.Exception.PureSystem.SimpleTimeoutSystem.SimpleTimeout.LimitsSystem.IO.ParallelData.Data.GenRepData.Data.GenRep.FunctionsData.Data.EvalData.Data.Compare Data.PPrintpretty-1.1.1.1Text.PrettyPrint.HughesPJDoccatchPureErrorscatchPureErrorsSafe TimeoutHandle timeoutHandletimeoutBudget SizeLimit TimeLimit newBudget checkBudget decSizeBudget showTimeout twoParallel threeParallel fourParallel manyParallel GenericDataListHoleDetailHoleTimeout NestedErrorError ConstructorConstructorNameNilConsTupleInfixlInfixrInfixCharPrefixarity constructorshowLitCharInCharshowLitCharInStringtoDocmistify numberErrors getErrorIndexevalevalWithBudgetAnswerYesMaybeNo showAnswer compareDatapprintpprintTo=== TimeutHandle time-1.4.2Data.Time.Clock.UTCUTCTimeTimeOutException$fExceptionTimeOutException$fShowTimeOutExceptionghc-prim GHC.TypesIntDoubleasyncbase Data.DataData precedence limitString$fNFDataGenericData$fNFDataConstructorNameisJoker Data.MaybePathDData collapsePathassembleevalPathdecideEquality$fNFDataAnswer showBotts