Creative Commons Attribution 3.0 Germany license
5cbb66a47d17e765b82d738e5532c951
(Get MD5 Sum)
This artifact provides the Scala, Haskell, and Purescript
implementations of ContextWorkflow, an embedded domain-specific
language for interruptible and compensable executions, and
demonstrates the maze search example described in the companion
paper. The Haskell and Purescript implementations provide the core
language constructs including \texttt{checkpoint} for partial aborts
and \texttt{sub} for sub-workflows and show that ContextWorkflow can
be embedded in eager and lazy languages as described in the
companion paper. The Scala implementation does not only provide
user-friendly syntax of ContextWorkflow but also gives the maze
search example as an interactive GUI application.
@Article{inoue_et_al:DARTS.4.3.4,
author = {Inoue, Hiroaki and Aotani, Tomoyuki and Igarashi, Atsushi},
title = {{ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions (Artifact)}},
pages = {4:1--4:2},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2018},
volume = {4},
number = {3},
editor = {Inoue, Hiroaki and Aotani, Tomoyuki and Igarashi, Atsushi},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.4.3.4},
URN = {urn:nbn:de:0030-drops-92356},
doi = {10.4230/DARTS.4.3.4},
annote = {Keywords: workflow, asynchronous exception, checkpoint, monad, embedded domain specific language}
}