úÎ#A o(      !"#$%&'None6KV]gh¤  Result of a fork is an Handle where you can await a result.BackendM is essentially (A, but also has the ability to report the status of the executor.C is responsible for running your functions in a remote environment.See: >http://hackage.haskell.org/package/distributed-fork-aws-lambdadistributed-fork-aws-lambda›Should run the current binary in the target environment, put the given string as standard input and return the executables answer on the standard output.)/An ExecutorClosure is a serialisable IO action.&We switch to executor mode only when argv[1] == argExecutorMode.üOn distributed-fork, we run the same binary both in your machine (called "driver") and in the remote environment (called "executor"). In order for the program to act according to where it is, you should call this function as the first thing in your main: &main = do initDistributedFork ... *CWhen on executor mode, we expect a serialised ExecutorClosure from +, run it and exit.,9Given an IO action and a static proof that the result is W, this function runs the action using the Backend in a separate thread and returns a - holding the ..  /)*,012.   /None‹   None‰!5Asynchronously executes the given function using the  and returns an ."@ {-# LANGUAGE StaticPointers #-}Timport Control.Distributed.Fork import Control.Distributed.Fork.LocalProcessBackendmain :: IO () main = do  handle <- ! localProcessBackend (static ?) (static (return "Hello World!")) putStrLn =<< await handle"Blocks until the  completes. Can throw .  !"!"    None&A = which uses local processes as executors. Useful for testing.&&None] a'+Runs given closures concurrently using the  with a progress bar.Throws  if something fails.''3    !!"#$%&'()*++,-./0123456789:; <=>?/distributed-fork-0.0.1.0-5LmzYMXh03t5aUzk7Ze0mk Control.Distributed.Fork.BackendControl.Distributed.Fork,Control.Distributed.Fork.LocalProcessBackendControl.Distributed.Fork.Utils!Control.Distributed.Fork.InternallocalProcessBackendbaseControl.Monad.IO.ClassliftIO!System.Environment.ExecutablePathgetExecutablePath'constraints-0.10-8EDr8M62baYIrdFVxMCmYVData.ConstraintDict0distributed-closure-0.4.0-AI9iaplWeBACg86w64daPf$Control.Distributed.Closure.Internalcapcpure SerializableClosureHandleExecutorFinalStatusExecutorFailedExecutorSucceededExecutorPendingStatusExecutorWaitingExecutorSubmittedExecutorStartedExecutorStatusExecutorPendingExecutorFinishedBackendMBackendbExecuteargExecutorModeinitDistributedForkwaiting waitingDesc submitted submittedDescstarted startedDescExecutorFailedExceptionforkawait"$fExceptionExecutorFailedException$fShowExecutorFailedException$fEqExecutorFailedExceptionmapConcurrentlyWithProgressghc-prim GHC.TypesIOExecutorClosure runExecutorGHC.IO.Handle.FDstdin runBackend GHC.Conc.SyncTVartoExecutorClosure parseAnswertryAwait