I<0      !"#$%&'()*+,-./ 0 123&Like an MVar, but must always be full 456789:;< 1356789:;< 1356789:;<=>?@ABCDEFGHIJKLMNO=>?=>?>?PQRSTUVWXYZ[\]^_`a PUWYZ[\]^`a PUWYZ[\]^`a:bcdefghijklmnopqrstuvwxyz{|}~NInvariant: The database does not have any cycles when a Key depends on itself qrstqtsrrst Drop the first directory from a . Should only be used on  relative paths. # dropDirectory1 "aaa/bbb" == "bbb"  dropDirectory1 "aaa/" == ""  dropDirectory1 "aaa" == ""  dropDirectory1 "" == "" Take the first component of a . Should only be used on  relative paths. # takeDirectory1 "aaa/bbb" == "aaa"  takeDirectory1 "aaa/" == "aaa"  takeDirectory1 "aaa" == "aaa" 43The  monad, use  to raise  actions into it, and need to execute files.  Action values are used by  and . :Define a set of rules. Rules can be created with calls to 'rule'/'action'. Rules are combined  with either the & instance, or more commonly using the  instance and do notation. 9Define a pair of types that can be used as a Shake rule. !Given that the database contains key/value., does that still match the on-disk contents?  Return  if no work needs to be done. "Options to specify how to control shake. @Where shall I store the database and journal files (defaults to .) JWhat is the maximum number of rules I should run in parallel (defaults to 1) QWhat is the version of your build system, increment to force everyone to rebuild  1 = normal, 0 = quiet, 2 = loud A default set of  . Like , but lower priority, if no  exists then  is checked. 4Add a rule to build a key, returning an appropriate . All rules must be disjoint. & To define lower priority rules use . CRun an action, usually used for specifying top-level requirements. MThis function is not actually exported, but Haddock is buggy. Please ignore. aExecute a rule, returning the associated values. If possible, the rules will be run in parallel. F This function requires that appropriate rules have been added with 'rule'/'defaultRule'. +Apply a single rule, equivalent to calling ( with a singleton list. Where possible,  use ) to allow the potential for parallelism. 7Write an action to the trace list, along with the start/#end time of running the IO action.  The system' command automatically calls . Get the WK for the currently executing rule - usally used to improve error messages.  Returns  if being run by . AWrite a message to the output when the verbosity is appropriate. D The output will not be interleaved with any other Shake messages 4 (other than those generated by system commands). AWrite a message to the output when the verbosity is appropriate. D The output will not be interleaved with any other Shake messages 4 (other than those generated by system commands). AWrite a message to the output when the verbosity is appropriate. D The output will not be interleaved with any other Shake messages 4 (other than those generated by system commands).      MThis function is not actually exported, but Haddock is buggy. Please ignore.  !"# !"# !"# $%&'()$%&'()$%&'() *MThis function is not actually exported, but Haddock is buggy. Please ignore. +,-.*+,-.*+,-./2Main entry point for running Shake build systems. '  !"#$%&'()+,-./*/  $%&'()# !"+,-.*/   !"#$%& ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9:;<<==>?@ABCDEFGHIJKIJLIJMIJNIJOPQRPQSPQTPQUPQVPQWPQXPYZPY[P\]P\^__`abccddefghijklmnnoppqqrskttuvwxxyz{|}~IuIII             shake-0.1Development.Shake.FilePathDevelopment.ShakeDevelopment.Shake.TypeHashDevelopment.Shake.LocksDevelopment.Shake.BinaryDevelopment.Shake.ValueDevelopment.Shake.DatabaseDevelopment.Shake.CoreDevelopment.Shake.FileDevelopment.Shake.DerivedDevelopment.Shake.DirectorydropDirectory1takeDirectory1 normalisetoNativecombineActionRulesRule validStored ShakeOptions shakeFiles shakeParallel shakeVersionshakeVerbosity shakeOptions defaultRuleruleactionrunapplyapply1traced currentRuleputLoud putNormalputQuiet FilePatterndefaultRuleFileneedwant?>**>*>?==system' copyFile' readFile' writeFile' readFileLineswriteFileLinesdefaultRuleDirectory doesFileExistgetDirectoryContentsgetDirectoryFilesgetDirectoryDirsshaketypeHashBarrierVarnewVarreadVar modifyVar modifyVar_ newBarrierreleaseBarrier waitBarrierwaitAnyBarrier BinaryWithputWithgetWithbaseGHC.WordWordWord8Word16Word32Word64binary-0.5.0.2 Data.Binary decodeFile encodeFiledecodeencodegetputBinaryData.Binary.PutputWord8PutData.Binary.GetgetWord8GetWitness typeNames witnessIn witnessOutValueKeynewKeynewValuetypeKey typeValuefromKey fromValuewitnessregisterWitnesscurrentWitnessStatuses fromStatuses WitnessedJournalhandle journalFile Response_executebarriersvaluesResponseBlockExecuteStatusLoadedBuiltBuildingInfovaluebuiltchangeddepends executiontracesDatabasestatus timestampjournalfilenameversionTimeMap removeFile_concatResponse toResponserequestfinished withDatabase openDatabase closeDatabase writeDatabase readDatabase openJournal replayJournal appendJournal closeJournal readFileVer readChunks writeChunkGHC.IOFilePathfilepath-1.2.0.1System.FilePath.Posix makeRelative isAbsolute isRelative makeValidisValid equalFilePathjoinPathsplitDirectories splitPathreplaceDirectory takeDirectorydropTrailingPathSeparatoraddTrailingPathSeparatorhasTrailingPathSeparatorreplaceBaseName takeBaseName takeFileName dropFileNamereplaceFileName splitFileNameisDrivehasDrive dropDrive takeDrive joinDrive splitDrivetakeExtensionsdropExtensionssplitExtensions hasExtension addExtension dropExtension<.>replaceExtension takeExtensionsplitExtension getSearchPathsplitSearchPathisExtSeparator extSeparatorisSearchPathSeparatorsearchPathSeparatorisPathSeparatorpathSeparators pathSeparatortransformers-0.2.2.0Control.Monad.IO.ClassliftIOghc-prim GHC.TypesIOSdatabasepoolstartedstored outputLock verbositystackdiscount Data.MonoidMonoidGHC.BaseMonadactionsrulesARuleTrueruleKey ruleValue ruleStoredregisterWitnesses createStored createExecute runActionduration Data.MaybeNothingputWhenFileTimeFile getFileTimeGetDir_GetDir GetDirDirs GetDirFilespatdirExistgetDir