laminar-0.1.0.1: Run dependent IO actions asynchronously.
Copyright(c) Dheemanth Manur 2022
LicenseMIT (see the file LICENSE)
MaintainerDheemanth Manur <dheemanthmanur72@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Laminar

Description

This module provides a set of operations for running set of IO actions with dependencies asynchronously. The basic type is Task which represents an IO action with a name and dependency list. functions buildGraph and runGraph used to build and run TaskGraph simultanouesly.

Synopsis

Documentation

data Task Source #

Container for all the details required for a Task

Constructors

Task 

Fields

data TaskGraph Source #

Container for the dependency graph and task list

Constructors

TaskGraph 

Fields

buildGraph :: [Task] -> TaskGraph Source #

Create a TaskGraph from a list of Task

runGraph :: TaskGraph -> IO () Source #

Execute a TaskGraph. Any Exceptions thrown by the tasks will be rethrown.