śĪakUĀ»      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ Safe »¼½¾æĄĮĀĆ    »¼½¾æĄĮĀĆNone*9;DBData+ constraint is used for data serialization.KAn abstract type representing the database used to store states of workflowÄÅĘĒÄÅĘĒNone5 !"#$%&'(Č)ÉŹĖ*+  !"#'%$&()*  !"#$%&'(*)  !"#$%&'(Č)ÉŹĖ*+None59;/The function is pure, i.e., a -> b.0A IO function, i.e.,  a -> IO b.14A function that has access to configuration, i.e., a -> WorkflowConfig config b.3No parallelism.4 Turn input a into [a] and process them in parallel.5Assume the input is ContextData d a , where d is shared and a becomes [a].6The type of node function8Node attributes.:Short description;Long description<Overwrite the global option="Parameters for to remote execution>Usually not being used directlyA!Links between computational nodesEOrder of the edgeFA computation node.WData and its environment.[%Objects that can be converted to ExpQ8./0123456789:;<=>?@ABCDEFGHIJKLMNSTUVWXYZ[\]^_`abcdefghi+./0124356789:;<=>?@ABCDEFGHIJWXYZ[\]^_`abcd8FGHIJABCDE@?89:;<=>672345./01NMLKSTUVcba`_d^][\ihWXYZgfe./0123456789:;<=>?@ABCDEFGHIJKLMNSTUVWXYZ[\]^_`abcdefghiNone59;<=DORToConcurrency controllerpGlobal remote switchqServer for loggingsThe node will not be executedt(Simply read the saved data from databaseu=Read the result from the input file and save it to database.vbRead input from the input file and save results to the output file. This is used in remote mode.w The result of a computation nodexThe node has been executedyThe node failed to finishzThe node will be executed{>Indicate the workflow is currently running under special mode|The id of a node}'Auxiliary type for concurrency support.Run as the master process‚Run as a slave processƒ Review the info stored in a node„!Replace the info stored in a node…Optionsˆnumber of concurrent processesŒShould run only selected nodesŽ!A Workflow is a stateful function5klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ1klmnopqrstuvwxyz{|}~€ƒ‚„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›1Ž‘’|wxyz{rstuv•klmnopq–™˜š—“€‚ƒ„…†‡ˆ‰Š‹Œ›}~”klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸNone LOutput the computation graph in dot code which can be visualize by Graphviz. Ģ   ĢNone !"9:;<=”!Declare an IO computational step.¢"Declare a pure computational step.£&Declare a stateful computational step.¤TDeclare an IO and parallel computational step. This will turn functions with type " a -> IO b" into functions with type " [a] -> IO [b]". And [a]n will be processed in parallel with provided batch size. Note: Currently, parallelism is available only when  "--remote" flag is on.„Same as ¤ but work with pure functions.¦Same as ¤" but work with stateful functions.§ Similar to ¤G but work with inputs that are associated with a shared context. Turn W context a -> Ķ b into W context [a] -> Ķ [b].Ŗ/Declare the dependency between nodes. Example: °node' "step1" [| \() -> 1 :: Int |] $ return () node' "step2" [| \() -> 2 :: Int |] $ return () node' "step3" [| \(x, y) -> x * y |] $ return () link ["step1", "step2"] "step3"«(~>) = Ŗ.¬"¬ [a, b, c]" is equivalent to "Ŗ a b >> Ŗ b c"­9Add a prefix to IDs of nodes for a given builder, i.e., id becomes  prefix_id.®ŪBuild the workflow. This function will first create functions defined in the builder. These pieces will then be assembled to form a function that will execute each individual function in a correct order, named $name$.ÆtBuild only a part of the workflow that has not been executed. This is used during development for fast compliation.°(Contruct a DAG representing the workflowĪ1Remove nodes that are executed before from a DAG.Ļnode idfunction Attribues”Node id>Template Haskell expression representing functions with type  a -> IO b. Attribues¢>Template Haskell expression representing functions with type a -> b.£?Template Haskell expression representing functions with type "a -> ” st b".¤"Batch size for parallel execution.„¦§>Template Haskell expression representing functions with type W context a -> Ķ b.Ø©Ŗ«¬­®Name of the workflowBuilderÆPath to the dbName of the workflowBuilder°ĪбŃŅÓŌ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±”¢£¤„¦§Ø©Ŗ«¬­®Æ°±Ļ”¢£¤„¦§Ø©Ŗ«¬­®Æ°ĪбŃŅÓŌ Safe ÕÖ×ŲŁŚŪÜŻŽßąįÖÜŻŽßąį ÕÖ×ŲŁŚŪÜŻŽßąįNone9;“KAn action to be execute before the workflow. The action should have type: Ķ () -> Ķ ()'. e.g., some initialization processes. ²³“µ¶·øā¹ćäŗ²³“µ¶·ø¹·¶ø²³“µ¹ ²³“µ¶·øā¹ćäŗ 'Building type safe scientific workflows(c) 2015-2017 Kai ZhangMITkai@kzhang.org experimentalPOSIXNone?WXYZ`abc””¢£¤„¦§Ø©Ŗ«¬­²³“µ¶·ø·ø¶²³“µ?­”¢£¤„¦§Ø©Ŗ«¬`acbWXYZ”å     !"#$%&'(()*+,-./0123456789:;<=>>??@ABCDEFGGHIJKKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnnopqrstuvwxyz{|}~€‚ƒ„…††‡ˆ‰Š‹ŒŽŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±±²³“µ¶·ø¹ŗ»¼½¾æĄĮ~ĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓ Ō Õ Ö × Ų Ł Ś Ū Ü Ż Ž ß ąįāćä$SciFlow-0.6.0-FPairtChN7xIhKqUE6E6ei Scientific.Workflow.Main.OptionsScientific.Workflow.Internal.DB"Scientific.Workflow.Internal.Utils*Scientific.Workflow.Internal.Builder.TypesScientific.Workflow.TypesScientific.Workflow.Visualize$Scientific.Workflow.Internal.BuilderScientific.Workflow.Main Paths_SciFlowScientific.Workflow GlobalOptsdbPath configFileCMDRunViewCatWriteDeleteRecoverDumpDBCall argsParserDBData WorkflowDB serialize deserializeshowYamlreadYamlopenDBcloseDBreadDatareadDataByteStringsaveData updateDatasaveDataByteString isFinishedgetKeys delRecord RemoteOpts extraParams environmentLogRunningCompleteWarnErrorExitsendLog runRemote$fSerializeLog $fGenericLog $fShowLog FunctionTypePureIOActionStateful ParallelModeNoneStandard ShareDataFunctionConfig Attribute_label_note_submitToRemote _remoteParam_functionConfigBuilderEdgeOrdEdge _edgeFrom_edgeTo_edgeOrdNode_nodePid _nodeFunction _nodeAttr$fSerializeFunctionType$fSerializeParallelMode$fSerializeFunctionConfig$fSerializeAttribute$fGenericParallelMode$fGenericFunctionType$fGenericFunctionConfig$fGenericAttribute$fLiftFunctionConfig$fLiftParallelMode$fLiftFunctionType$fLiftAttribute ContextData_context_dataToExpQtoExpQDAGAttributeSetterfunctionConfiglabelnote remoteParamsubmitToRemotedefaultAttribute$fSerializeContextData$fToJSONContextData$fFromJSONContextData $fToExpQQ $fToExpQName$fGenericContextData WorkflowState _database _procStatus_procParaControl_remote _logServer SpecialModeSkip FetchData WriteDataEXE NodeStateSuccessFail ScheduledSpecialPIDParallel runParallelRunModeMasterSlaveReviewReplaceRunOptdbFilenThread runOnRemoterunMode configurationselected logServerAddrWorkflow _worflow_dag_worflow_pidToAttr _workflow ProcessorWorkflowConfig ProcStatedatabase logServerprocParaControl procStatusremote defaultRunOpt $fSerializeGr$fApplicativeParallel$fFunctorParallel$fLiftGr drawWorkflownodenode'nodeSnodePnodeP'nodePS nodeSharedP nodeSharedP' nodeSharedPSlink~>path namespace buildWorkflowbuildWorkflowPartmkDAGmkProcMainOpts preAction programHeaderdefaultMainOpts defaultMainmainWith runWorkflow$fLiftMainOpts globalParser runParser viewParser catParser writeParserrmParser recoverParser dumpDBParser callParser dbTableName createTablehasTablegetTimelogMsgerrorMsgwarnMsgwrapghc-prim GHC.TypesIOtrimDAGnodeWith mkWorkflow mkProcListNmkProcListNWithContext mkProcWithhandleSpecialModecatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamemainFunc mkConnectioncleanUp