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} }
5cbb66a47d17e765b82d738e5532c951
(Get MD5 Sum)
Feedback for Dagstuhl Publishing