file = {Mitchell and Plotkin - 1988 - Abstract types have existential type.pdf:/home/mrl/.local/share/zotero/storage/QXDE5H7C/Mitchell and Plotkin - 1988 - Abstract types have existential type.pdf:application/pdf},
}
+@inproceedings{steenvoorden_tophat_2019,
+ address = {New York, NY, USA},
+ series = {{PPDP} '19},
+ title = {{TopHat}: {A} {Formal} {Foundation} for {Task}-{Oriented} {Programming}},
+ isbn = {978-1-4503-7249-7},
+ url = {https://doi.org/10.1145/3354166.3354182},
+ doi = {10.1145/3354166.3354182},
+ abstract = {Software that models how people work is omnipresent in today's society. Current languages and frameworks often focus on usability by non-programmers, sacrificing flexibility and high level abstraction. Task-oriented programming (TOP) is a programming paradigm that aims to provide the desired level of abstraction while still being expressive enough to describe real world collaboration. It prescribes a declarative programming style to specify multi-user workflows. Workflows can be higher-order. They communicate through typed values on a local and global level. Such specifications can be turned into interactive applications for different platforms, supporting collaboration during execution. TOP has been around for more than a decade, in the forms of iTasks and mTasks, which are tailored for real-world usability. So far, it has not been given a formalisation which is suitable for formal reasoning.In this paper we give a description of the TOP paradigm and then decompose its rich features into elementary language elements, which makes them suitable for formal treatment. We use the simply typed lambda-calculus, extended with pairs and references, as a base language. On top of this language, we develop TopHat, a language for modular interactive workflows. We describe TopHat by means of a layered semantics. These layers consist of multiple big-step evaluations on expressions, and two labelled transition systems, handling user inputs.With TopHat we prepare a way to formally reason about TOP languages and programs. This approach allows for comparison with other work in the field. We have implemented the semantic rules of TopHat in Haskell, and the task layer on top of the iTasks framework. This shows that our approach is feasible, and lets us demonstrate the concepts by means of illustrative case studies. TOP has been applied in projects with the Dutch coast guard, tax office, and navy. Our work matters because formal program verification is important for mission-critical software, especially for systems with concurrency.},
+ booktitle = {Proceedings of the 21st {International} {Symposium} on {Principles} and {Practice} of {Declarative} {Programming}},
+ publisher = {Association for Computing Machinery},
+ author = {Steenvoorden, Tim and Naus, Nico and Klinik, Markus},
+ year = {2019},
+ note = {event-place: Porto, Portugal},
+ file = {Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:/home/mrl/.local/share/zotero/storage/W7HJ5MEF/Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:application/pdf},
+}
+
@inproceedings{yorgey_giving_2012,
address = {New York, NY, USA},
series = {{TLDI} '12},
file = {Barendsen and Smetsers - 1996 - Uniqueness typing for functional languages with gr.pdf:/home/mrl/.local/share/zotero/storage/BPRC6KJK/Barendsen and Smetsers - 1996 - Uniqueness typing for functional languages with gr.pdf:application/pdf},
}
+@inproceedings{lijnse_itasks_2009,
+ title = {{iTasks} 2: {iTasks} for {End}-users},
+ booktitle = {International {Symposium} on {Implementation} and {Application} of {Functional} {Languages}},
+ publisher = {Springer},
+ author = {Lijnse, Bas and Plasmeijer, Rinus},
+ year = {2009},
+ pages = {36--54},
+ file = {Lijnse and Plasmeijer - 2009 - iTasks 2 iTasks for End-users.pdf:/home/mrl/.local/share/zotero/storage/KACEWKXY/Lijnse and Plasmeijer - 2009 - iTasks 2 iTasks for End-users.pdf:application/pdf},
+}
+
@mastersthesis{bohm_asynchronous_2019,
address = {Nijmegen},
title = {Asynchronous {Actions} in a {Synchronous} {World}},
file = {Baccelli et al. - 2018 - Reprogramming Low-end IoT Devices from the Cloud.pdf:/home/mrl/.local/share/zotero/storage/M6LX5ZJN/Baccelli et al. - 2018 - Reprogramming Low-end IoT Devices from the Cloud.pdf:application/pdf},
}
+@mastersthesis{piers_task-oriented_2016,
+ address = {Nijmegen},
+ title = {Task-{Oriented} {Programming} for developing non-distributed interruptible embedded systems},
+ language = {en},
+ school = {Radboud University},
+ author = {Piers, Jasper},
+ year = {2016},
+ file = {Piers - Task-Oriented Programming for developing non-distr.pdf:/home/mrl/.local/share/zotero/storage/X8BZM9D4/Piers - Task-Oriented Programming for developing non-distr.pdf:application/pdf},
+}
+
@inproceedings{baccelli_scripting_2018,
title = {Scripting {Over}-{The}-{Air}: {Towards} {Containers} on {Low}-end {Devices} in the {Internet} of {Things}},
booktitle = {{IEEE} {PerCom} 2018},
file = {groj10-Haskell_front_end_Clean.pdf:/home/mrl/.local/share/zotero/storage/WVZWX8WT/groj10-Haskell_front_end_Clean.pdf:application/pdf},
}
+@article{plasmeijer_itasks:_2007,
+ title = {{iTasks}: executable specifications of interactive work flow systems for the web},
+ volume = {42},
+ number = {9},
+ journal = {ACM SIGPLAN Notices},
+ author = {Plasmeijer, Rinus and Achten, Peter and Koopman, Pieter},
+ year = {2007},
+ pages = {141--152},
+ file = {plar2007-ICFP07-iTasks.pdf:/home/mrl/.local/share/zotero/storage/N8EUZP7D/plar2007-ICFP07-iTasks.pdf:application/pdf},
+}
+
@incollection{plasmeijer_shallow_2016,
address = {Cham},
series = {Lecture {Notes} in {Computer} {Science}},
title = {A {Shallow} {Embedded} {Type} {Safe} {Extendable} {DSL} for the {Arduino}},
volume = {9547},
- isbn = {978-3-319-39109-0 978-3-319-39110-6},
+ isbn = {978-3-319-39110-6},
url = {http://link.springer.com/10.1007/978-3-319-39110-6},
urldate = {2017-02-22},
booktitle = {Trends in {Functional} {Programming}},
journal = {Parallel Processing Letters},
author = {Hammond, Kevin and Berthold, Jost and Loogen, Rita},
year = {2003},
- note = {\_eprint: https://doi.org/10.1142/S0129626403001380},
pages = {413--424},
file = {Hammond et al. - 2003 - AUTOMATIC SKELETONS IN TEMPLATE HASKELL.pdf:/home/mrl/.local/share/zotero/storage/HBQ8UXY3/Hammond et al. - 2003 - AUTOMATIC SKELETONS IN TEMPLATE HASKELL.pdf:application/pdf},
}
author = {Shioda, Masato and Iwasaki, Hideya and Sato, Shigeyuki},
year = {2014},
note = {event-place: Västerås, Sweden},
- keywords = {D language, Embedded domain specific languages, Library, Metaprogramming},
+ keywords = {Metaprogramming, D language, Embedded domain specific languages, Library},
pages = {63--72},
file = {Shioda et al. - 2014 - LibDSL A Library for Developing Embedded Domain S.pdf:/home/mrl/.local/share/zotero/storage/3WFYJPFR/Shioda et al. - 2014 - LibDSL A Library for Developing Embedded Domain S.pdf:application/pdf},
}
author = {Eisenberg, Richard A. and Stolarek, Jan},
year = {2014},
note = {event-place: Gothenburg, Sweden},
- keywords = {defunctionalization, Haskell, type-level programming},
+ keywords = {Haskell, defunctionalization, type-level programming},
pages = {95--106},
file = {Eisenberg and Stolarek - 2014 - Promoting Functions to Type Families in Haskell.pdf:/home/mrl/.local/share/zotero/storage/PQXGBM6M/Eisenberg and Stolarek - 2014 - Promoting Functions to Type Families in Haskell.pdf:application/pdf},
}
author = {Viera, Marcos and Balestrieri, Florent and Pardo, Alberto},
year = {2018},
note = {event-place: Lowell, MA, USA},
- keywords = {Attribute Grammars, Dynamics, EDSL, Haskell, Staging},
+ keywords = {Haskell, EDSL, Attribute Grammars, Dynamics, Staging},
pages = {95--106},
file = {Viera et al. - 2018 - A Staged Embedding of Attribute Grammars in Haskel.pdf:/home/mrl/.local/share/zotero/storage/53D4HT9C/Viera et al. - 2018 - A Staged Embedding of Attribute Grammars in Haskel.pdf:application/pdf},
}
author = {Najd, Shayan and Lindley, Sam and Svenningsson, Josef and Wadler, Philip},
year = {2016},
note = {event-place: St. Petersburg, FL, USA},
- keywords = {domain-specific language, DSL, EDSL, embedded language, normalisation, QDSL, quotation, subformula principle},
+ keywords = {EDSL, domain-specific language, DSL, embedded language, normalisation, QDSL, quotation, subformula principle},
pages = {25--36},
file = {Najd et al. - 2016 - Everything Old is New Again Quoted Domain-Specifi.pdf:/home/mrl/.local/share/zotero/storage/NZJW5ZVF/Najd et al. - 2016 - Everything Old is New Again Quoted Domain-Specifi.pdf:application/pdf},
}
author = {{Peter T. Lewis}},
month = sep,
year = {1985},
+ annote = {By connecting devices such as traffic signal control boxes, underground gas station tanks and home refrigerators to supervisory control systems, modems, auto-dialers and cellular phones, we can transmit status of these devices to cell sites, then pipe that data through the Internet and address it to people near and far that need that information. I predict that not only humans, but machines and other things will interactively communicate via the Internet. The Internet of Things, or IoT, is the integration of people, processes and technology with connectable devices and sensors to enable remote monitoring, status, manipulation and evaluation of trends of such devices. When all these technologies and voluminous amounts of Things are interfaced together -- namely, devices/machines, supervisory controllers, cellular and the Internet, there is nothing we cannot connect to and communicate with. What I am calling the Internet of Things will be far reaching.},
}
@article{weiser_computer_1991,
file = {Crooijmans - 2021 - Reducing the Power Consumption of IoT Devices in T.pdf:/home/mrl/.local/share/zotero/storage/YIEQ97KK/Crooijmans - 2021 - Reducing the Power Consumption of IoT Devices in T.pdf:application/pdf},
}
-@article{mcdonell_embedded_2021,
- title = {Embedded {Pattern} {Matching}},
- volume = {abs/2108.13114},
- url = {https://arxiv.org/abs/2108.13114},
- journal = {CoRR},
- author = {McDonell, Trevor L. and Meredith, Joshua D. and Keller, Gabriele},
- year = {2021},
- note = {arXiv: 2108.13114},
- file = {2108.13114.pdf:/home/mrl/.local/share/zotero/storage/AJAT8AXI/2108.13114.pdf:application/pdf},
-}
-
@misc{wadler_expression_1998,
title = {The expression problem},
url = {https://homepages.inf.ed.ac.uk/wadler/papers/expression/expression.txt},
month = nov,
year = {1998},
note = {e-mail message, accessed on 2021-02-24},
+ annote = {
+
+},
}
@misc{margaret_deuter_rhapsody_2015,
author = {{Wikipedia contributors}},
year = {2022},
note = {accessed on: 2022-09-06},
+ annote = {[Online; accessed 6-September-2022]},
}
@incollection{backus_introduction_1990,
author = {de Vries, Edsko and Löh, Andres},
year = {2014},
note = {event-place: Gothenburg, Sweden},
- keywords = {datatype-generic programming, generic views, json, lenses, metadata, sums of products, universes},
+ keywords = {lenses, datatype-generic programming, generic views, json, metadata, sums of products, universes},
pages = {83--94},
file = {de Vries and Löh - 2014 - True Sums of Products.pdf:/home/mrl/.local/share/zotero/storage/QHT5IPQA/de Vries and Löh - 2014 - True Sums of Products.pdf:application/pdf},
}
author = {Pickering, Matthew and Wu, Nicolas and Kiss, Csongor},
year = {2019},
note = {event-place: Berlin, Germany},
- keywords = {implicits, metaprogramming, staging},
+ keywords = {metaprogramming, staging, implicits},
pages = {71--84},
file = {Pickering et al. - 2019 - Multi-Stage Programs in Context.pdf:/home/mrl/.local/share/zotero/storage/3EW7FM44/Pickering et al. - 2019 - Multi-Stage Programs in Context.pdf:application/pdf},
}
title = {A {Specification} for {Typed} {Template} {Haskell}},
volume = {abs/2112.03653},
url = {https://arxiv.org/abs/2112.03653},
+ doi = {10.48550/arXiv.2112.03653},
journal = {CoRR},
author = {Pickering, Matthew and Löh, Andres and Wu, Nicolas},
year = {2021},
year = {2015},
doi = {10.3990/1.9789036538039},
note = {ISBN: 978-90-365-3803-9},
- keywords = {Digital Circuits, EC Grant Agreement nr.: FP7/248465, EC Grant Agreement nr.: FP7/610686, EWI-23939, FPGA, Functional Programming, Hardware, Haskell, IR-93962, Lambda calculus, METIS-308711, Rewrite Systems},
+ keywords = {Haskell, Digital Circuits, EC Grant Agreement nr.: FP7/248465, EC Grant Agreement nr.: FP7/610686, EWI-23939, FPGA, Functional Programming, Hardware, IR-93962, Lambda calculus, METIS-308711, Rewrite Systems},
+ annote = {eemcs-eprint-23939 },
file = {Baaij - 2015 - Digital circuit in CλaSH functional specification.pdf:/home/mrl/.local/share/zotero/storage/MYJ33ISL/Baaij - 2015 - Digital circuit in CλaSH functional specification.pdf:application/pdf},
}
+
+@inproceedings{mcdonell_embedded_2022,
+ address = {New York, NY, USA},
+ series = {Haskell 2022},
+ title = {Embedded {Pattern} {Matching}},
+ isbn = {978-1-4503-9438-3},
+ url = {https://doi.org/10.1145/3546189.3549917},
+ doi = {10.1145/3546189.3549917},
+ abstract = {Haskell is a popular choice for hosting deeply embedded languages. A recurring challenge for these embeddings is how to seamlessly integrate user defined algebraic data types. In particular, one important, convenient, and expressive feature for creating and inspecting data—pattern matching—is not directly available on embedded terms. We present a novel technique, embedded pattern matching, which enables a natural and user friendly embedding of user defined algebraic data types into the embedded language, and allows programmers to pattern match on terms in the embedded language in much the same way they would in the host language.},
+ booktitle = {Proceedings of the 15th {ACM} {SIGPLAN} {International} {Haskell} {Symposium}},
+ publisher = {Association for Computing Machinery},
+ author = {McDonell, Trevor L. and Meredith, Joshua D. and Keller, Gabriele},
+ year = {2022},
+ note = {event-place: Ljubljana, Slovenia},
+ keywords = {Haskell, algebraic data types, embedded languages, pattern matching},
+ pages = {123--136},
+ file = {2108.13114.pdf:/home/mrl/.local/share/zotero/storage/AJAT8AXI/2108.13114.pdf:application/pdf},
+}
+
+@phdthesis{krishnamurthi_linguistic_2001,
+ address = {Houston, USA},
+ type = {{PhD} {Thesis}},
+ title = {Linguistic reuse},
+ school = {Rice University},
+ author = {Krishnamurthi, Shriram},
+ year = {2001},
+ file = {Krishnamurthi - 2001 - Linguistic reuse.PDF:/home/mrl/.local/share/zotero/storage/LSKHFPIS/Krishnamurthi - 2001 - Linguistic reuse.PDF:application/pdf},
+}
+
+@misc{ashton_internet_1999,
+ address = {London, UK},
+ type = {Presentation},
+ title = {Internet of {Things}},
+ author = {Ashton, Kevin},
+ year = {1999},
+}
+
+@article{ashton_that_2009,
+ title = {That ‘{Internet} of {Things}’ {Thing}},
+ volume = {22},
+ number = {7},
+ journal = {RFID journal},
+ author = {Ashton, Kevin},
+ year = {2009},
+ note = {Publisher: Hauppauge, New York},
+ pages = {97--114},
+ file = {Ashton - 2009 - That ‘Internet of Things’ Thing.pdf:/home/mrl/.local/share/zotero/storage/SJ33G6VR/Ashton - 2009 - That ‘Internet of Things’ Thing.pdf:application/pdf},
+}
+
+@phdthesis{van_gemert_task_2022,
+ address = {Nijmegen},
+ type = {Bachelor's {Thesis}},
+ title = {Task {Oriented} {Programming} in {LUA}},
+ language = {en},
+ school = {Radboud University},
+ author = {van Gemert, Dante},
+ year = {2022},
+ file = {van Gemert - 2022 - Task Oriented Programming in LUA.pdf:/home/mrl/.local/share/zotero/storage/UQHAWT83/van Gemert - 2022 - Task Oriented Programming in LUA.pdf:application/pdf},
+}
+
+@misc{lijnse_toppyt_2022,
+ title = {Toppyt},
+ url = {https://gitlab.com/baslijnse/toppyt},
+ urldate = {2022-10-07},
+ author = {Lijnse, Bas},
+ year = {2022},
+}