úÎN·K-      !"#$%&'()*+ ,  Abstract data structure used by  and . -Nothing: the timeout happened already  Just xs: there is time left  xs* contains the list of threads for which a TimeoutException / will be thrown when the time is over.  . is needed to compute the Double parameter of the exception. /timeout exception The Double parameter documented at . 0 Creates a . The Double( parameter is the time limit in second.  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: 2 was called right before the time of the timeout. @ Other values: proportional to the time spend by the operation. >knows the time of the timeout and the creation time of itself Dtimeout handling action for which will the percent will be supplied the operation to timeout A ! contains a time and size limit. 1Size limit is an 2 which meaning is given by  and  . Time limit is a 3' which is the allowed time in seconds. Create a new budget. CCheck budget and take another action if there is no more resource. &decrement size budget with this value what to do in case of timeout (3': percent when the thread was started) +what to do in case there is no more space what to do in a normal case !Decrement free size in a budget. 0funtion to modify free size and produce a value    4Run an IO8 computation in parallel. The result will appear in the MVar. Run two IO4 computations in parallel and wait for the results.  Run three IO4 computations in parallel and wait for the results.  Run four IO4 computations in parallel and wait for the results. 7Run computations in parallel and wait for the results.    Representation of 5 values. used during show @also caused by space shortage but this omission a relevant part 3this is caused space shortage, shown as three dots  timeout, the Double is between 0 and 1. 9 0: evaluation of subexpression started at the beginning K towards 1: evaluation of subexpression started near the end of time limit @ 1: evaluation of subexpression started after time limit (rare) shown exception %Name and precedence of constructors. empty list constructor nonempty list constructor tuple with n elements character literal )used also for literals except characters #Arity of the toplevel constructor. 6%Extract the name and precedence of a 5 value. 78Limit the length of a string by replacing the middle of  the string by an ellipsis. K The function returns the limit reduced by the final length of the string.  Convert a 5 value to  given the   representation of the value' s children. 8+Try to catch many type of exceptions while 8 evaluation the weak head normal form of the parameter. 9 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 N is wrong. We would like to show the erroneous part but not the whole result. !Collect and number of  values and replace them  by an indexed bottom sign. + Repeated errors will get the same number. &time limit for showing error messages size penalty per errors global size limit  ! ! !:>Show a character literal. Unicode characters are not escaped. ;JShow a character in a string literal. Unicode characters are not escaped. "Convert  to . <= instance for  """#$Evaluation with time an size limit. $&Gives more control over the resources #$#$#$ >?@%Answer with possibility  (: no  'A d0: maybe with d possibility (0-1, 1 denotes yes)  &: yes &'()Show an % as an equality operator. * Compare two 5! value with time and size limit. #time limit for comparison decision +time limit for highlighting the difference *size limit for the output (in characters)  first value  second value BCDE%&'()*%('&)*%('&&'()* +Prettyprint a 5 value. .There is a 1 second time limit and the output 0 contains at most approximately 500 characters. )The exceptions are shown as bottom signs  followed by explanations. , Compare two 5 values. The can be yes, no or maybe. " The differences are highlighted. .There is a 1 second time limit and the output 0 contains at most approximately 500 characters. )The exceptions are shown as bottom signs  followed by explanations. F+,+,+,G    !"#$%&'()*+,-./0123456 7 89:;<==>?@>?ABCDEFGHIJKLCMNOPPCQ3RSTU VWdata-pprint-0.1Data.Data.GenRep.DocSystem.SimpleTimeoutSystem.SimpleTimeout.LimitsSystem.IO.ParallelData.Data.GenRepData.Data.GenRep.FunctionsData.Data.EvalData.Data.Compare Data.PPrintpretty-1.0.1.2Text.PrettyPrint.HughesPJDoc TimeoutHandle timeoutHandletimeoutBudget SizeLimit TimeLimit newBudget checkBudget decSizeBudget twoParallel threeParallel fourParallel manyParallel GenericDataListHoleDetailHoleTimeoutError ConstructorConstructorNameNilConsTupleInfixlInfixrInfixCharPrefixarity constructormistify numberErrorstoDocevalevalWithBudgetAnswerYesMaybeNo showAnswer compareDatapprint=== TimeutHandle time-1.2.0.3Data.Time.Clock.UTCUTCTimeTimeOutExceptionghc-prim GHC.TypesIntDoubleasyncbase Data.DataData precedence limitString catchManyisJokershowLitCharInCharshowLitCharInString $fIsStringDoc Data.StringIsStringPathDData Data.Maybe collapsePathassembleevalPathdecideEquality showBotts