úÎZÜPš      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸ Safe Żšşťź˝žżŔNone6;=+The function is pure, i.e., a -> b.A IO function, i.e.,  a -> IO b.4A function that has access to configuration, i.e., a -> WorkflowConfig config b.No parallelism. Turn input a into [a] and process them in parallel.Assume the input is ContextData d a , where d is shared and a becomes [a].The type of node function Node attributes. Short description Long descriptionOverwrite the global option"Parameters for to remote executionUsually not being used directly!Links between computational nodesOrder of the edgeA computation node.)Data and its environment.-%Objects that can be converted to ExpQ+  )*,+-./01234568   %&'(5432160/-.87)*+,;:9  )*+,-.None+;=§=KAn abstract type representing the database used to store states of workflow?DBData+ constraint is used for data serialization.=>?@ABCDEFGHIJKDEFHGKIJ=>?@ACB=>None6p LMNOPTRQSUVW LMNOPQRSTUWVLMNOPQRSTUSafe2[\]^_bca`defgh_`abcdefg[\]^h[\]^_`abcdefgNone6;=>?FQTV'ŒmConcurrency controllernGlobal remote switchoServer for loggingqThe node will not be executedr(Simply read the saved data from databases=Read the result from the input file and save it to database.tbRead input from the input file and save results to the output file. This is used in remote mode.u The result of a computation nodevThe node has been executedwThe node failed to finishxThe node will be executedy>Indicate the workflow is currently running under special modezThe 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 function1ijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™1ŒŽzuvwxypqrst“ijklmno”—–˜•‘~€‚ƒ„…†‡ˆ‰Š‹™{|}’ijklmnopqrstuvwxy{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽNone "#;<=>?H˜ž!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 ) context a -> Á b into ) 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 ) context a -> Á b.ŤName of the workflowBuilderŹPath to the dbName of the workflowBuilderžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽNoneJ˜ŻLOutput the computation graph in dot code which can be visualize by Graphviz.ŻŻNone;=M˛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 experimentalPOSIXNoneO&)*+,2345’žŸ Ą˘Ł¤ĽŚ§¨ŠŞ°ą˛ł´ľśľś´°ą˛łޞŸ Ą˘Ł¤ĽŚ§¨Š2354)*+,’Ä     !"#$%&'()*+,-./00123456789:;<=>?@ABCCDEFGHIJKLMNOPQQRSTUVWXYZ[\]^__`abcdefghijkllmnopqrstuvwxyz{|}}~€‚ƒ„„…†‡ˆ‰Š‹ŒŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻŻ°ą˛ł´ľś ˇ ¸ š ş ť ź ˝ žżŔÁÂĂÄ$SciFlow-0.6.1-CdrNBSgkFzOFQ5Zr3LWD5G*Scientific.Workflow.Internal.Builder.TypesScientific.Workflow.Internal.DB"Scientific.Workflow.Internal.Utils Scientific.Workflow.Main.OptionsScientific.Workflow.Types$Scientific.Workflow.Internal.BuilderScientific.Workflow.VisualizeScientific.Workflow.Main Paths_SciFlowScientific.Workflow FunctionTypePureIOActionStateful ParallelModeNoneStandard ShareDataFunctionConfig Attribute_label_note_submitToRemote _remoteParam_functionConfigBuilderEdgeOrdEdge _edgeFrom_edgeTo_edgeOrdNode_nodePid _nodeFunction _nodeAttr$fSerializeParallelMode$fSerializeFunctionType$fSerializeFunctionConfig$fSerializeAttribute$fGenericParallelMode$fGenericFunctionType$fGenericFunctionConfig$fGenericAttribute$fLiftFunctionConfig$fLiftParallelMode$fLiftFunctionType$fLiftAttribute ContextData_context_dataToExpQtoExpQDAGAttributeSetterfunctionConfiglabelnote remoteParamsubmitToRemotedefaultAttribute $fToExpQQ $fToExpQName$fSerializeContextData$fToJSONContextData$fFromJSONContextData$fGenericContextData WorkflowDBDBData serialize deserializeshowYamlreadYamlopenDBcloseDBreadData updateDatasaveData isFinishedgetKeys delRecord RemoteOpts extraParams environmentLogRunningCompleteWarnErrorExitsendLog runRemote$fSerializeLog $fGenericLog $fShowLog GlobalOptsdbPath configFileCMDRunViewCatWriteDeleteRecoverDumpDBCall argsParser 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$fLiftGr$fApplicativeParallel$fFunctorParallelnodenode'nodeSnodePnodeP'nodePS nodeSharedP nodeSharedP' nodeSharedPSlink~>path namespace buildWorkflowbuildWorkflowPartmkDAGmkProc drawWorkflowMainOpts preAction programHeaderdefaultMainOpts defaultMainmainWith runWorkflow$fLiftMainOptsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameghc-prim GHC.TypesIOtrimDAGnodeWith