(!Vo      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnportable provisionalotakar.smrz mff.cuni.cz Safe-Infered@  !"#$%&'()*+,-./0123456789:;<opq=  !"#$%&'()*+,-./0123456789:;<=  !"#$+./,-%&'(*)0123465789:;<@  !"#$%&'()*+,-./0123456789:;<opqNone E3Rules map names of files to actions building them. H0Run an action in the context of a set of rules. I*Answer a question using the action given. 2 The action should be independent of the context. J-Produce a file, using with the given action. 2 The action should be independent of the context. K-Produce a file, using with the given action. 2 The action should be independent of the context. : BUT: no problem to produce the same file multiple times. L%List directory contents by extension MAMark that a file is used. Do not chase dependencies on this file  though. N>File was modified by some command, but in a way that does not E invalidate previous computations. (This is probably only useful for  latex processing). OBRun the argument in a clean context, and do not clobber the state B even if the argument does that. To use when the construction of A the argument actually does not depend on the previous questions % asked, and the constructed thing is atomic for the environment. S=Try to build a file using known rules; then mark it as used. =>?@ABCrDEFGHIJKLMNOPQRSstuv4wxyz{|}~=>?@ABCDEFGHIJKLMNOPQRSEFGDHSLJKMNPIQRO=@?>ACB=@?>ACBrDEFGHIJKLMNOPQRSstuv Safe-InferedTUTUUTTU Safe-InferedVWXYZ[\]^_`abcdefghijklmnVWXYZ[\]^_`abcdefghijklmnVWXYZ[\]^_`abcdefghijklmnVWXYZ[\]^_`abcdefghijklmn Safe-InferedOwxyz{|}~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}~)}~}~}~}~}~}~}~}~}~.}~}~$}~}~}~}~}~}~}~}~}~}~}~}~}~}~}} cake-0.3.2.1Parsek Cake.Core Cake.Process Cake.RulesCake ParseResult ParseMethodUnexpectExpectParser anySymbolsatisfylabellooksucceedsstringcharnoneOfoneOfspacesspacenewlinetabupperloweralphaNumletterdigithexDigitoctDigitanyCharmunchmunch1pzero<|><<|>trychoiceoptionoptionalbetween skipMany1skipManymany1manysepBysepBy1countchainrchainlchainr1chainl1 parseFromFileparseshortestResult longestResultlongestResultsallResultsStaged allResultscompleteResultsshortestResultWithLeftoverlongestResultWithLeftoverlongestResultsWithLeftoverallResultsWithLeftovercompleteResultsWithLineQuestionCustomListing FileContentsAnswerTextStampActRuleP==>cakedistillproduceproduce'listuse overwroteshieldeddebug fileStampcutneedsystem processIO extension anyExtensioncopymkdirtouchreadFile _pdflatex_bibtexpandocgraphvizneedingsimpletex_markdown_standalonepdf_tex getBibFiles includedTex chaseDepspdflatexBibtexpdf_tex_bibtexpdflatexBiblatexpdf_tex_biblatex_lhs2TeXlhs2textex_lhsallRules$fMonadPlusParser $fMonadParser$fFunctorParser$fBinaryQuestion$fAlternativeParser$fApplicativeParser$fShowQuestion$fBinaryAnswerbaseControl.Applicative ApplicativeliftA3liftA2liftA<**><**><*>puresomeempty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>GHC.Base<$