Abstract
We present a concurrent scripting language embedded in Haskell, emulating the functionality of the Orc orchestration language by providing many-valued (real) non-determinism in the context of concurrent effects. We provide many examples of its use, as well as a brief description of how we use the embedded Orc DSL in practice. We describe the abstraction layers of the implementation, and use the fact that we have a layered approach to demonstrate algebraic properties satisfied by the combinators.
Supplemental Material
- }}M. D. Campos, and L. S. Barbosa, Implementation of an Orchestration Language as a Haskell Domain Specific Language. Electronic Notes in Theoretical Computer Science, Volume 255, Nov 2009 Google Scholar
Digital Library
- }}I. Diatchki. MonadLib http://www.purely-functional.net/monadLibGoogle Scholar
- }}C. Elliott and P. Hudak, Functional Reactive Animation. ACM Conference on International Conference on Functional Programming (ICFP), 1997. Google Scholar
Digital Library
- }}M. Flatt, R. Findler, S. Krishnamurthi, and M. Felleisen Programming Languages as Operating Systems (or, Revenge of the Son of the Lisp Machine). In: ACM SIGPLAN International Conference on Functional Programming, ICFP 1999 Google Scholar
Digital Library
- }}T. Harris, S. Marlow, S. Peyton Jones, and M. Herlihy. Composable Memory Transactions. ACM Conference on Principles and Practice of Parallel Programming (PPoPP), 2005. Google Scholar
Digital Library
- }}D. Kitchin, A User's Guide To Orc. http://orc.csres.utexas.edu/userguide.pdfGoogle Scholar
- }}D. Kitchin, A. Quark, W. Cook and J. Misra. The Orc Programming Language. Proceedings of FMOODS/FORTE, Springer Verlag, LNCS 5522, 2009. Google Scholar
Digital Library
- }}O. Kiselyov, C. Shan, D. Friedman, and A. Sabry. Backtracking, interleaving, and terminating monad transformers. In: ACM SIGPLAN international conference on Functional programming (ICFP), 2005. Google Scholar
Digital Library
- }}J. Misra and W. Cook. Computation Orchestration: A Basis for Wide-Area Computing. Journal of Software and Systems Modeling, March 2007Google Scholar
- }}S. Marlow, S. Peyton Jones, A. Moran, and J. Reppy. Asynchronous Exceptions in Haskell. In ACM Conference on Programming Languages Design and Implementation, PLDI 2001. Google Scholar
Digital Library
Index Terms
Concurrent orchestration in Haskell
Recommendations
Concurrent orchestration in Haskell
Haskell '10: Proceedings of the third ACM Haskell symposium on HaskellWe present a concurrent scripting language embedded in Haskell, emulating the functionality of the Orc orchestration language by providing many-valued (real) non-determinism in the context of concurrent effects. We provide many examples of its use, as ...
Polymonad programming in Haskell
IFL '15: Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming LanguagesPolymonads were recently introduced by Hicks et al. as a unified approach to programming with different notions of monads. Their work was mainly focused on foundational aspects of the approach. In this article, we show how to incorporate the notion of ...
Implementation of an Orchestration Language as a Haskell Domain Specific Language
Even though concurrent programming has been a hot topic of discussion in Computer Science for the past 30 years, the community has yet to settle on a, or a few standard approaches to implement concurrent programs. But as more and more cores inhabit our ...







Comments