directory structure
[phd-thesis.git] / other.bib
index ba881fd..188e95c 100644 (file)
--- a/other.bib
+++ b/other.bib
@@ -287,6 +287,22 @@ Publisher: Association for Computing Machinery},
        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},
@@ -442,6 +458,16 @@ Publisher: Association for Computing Machinery},
        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}},
@@ -523,6 +549,16 @@ few changes in existing programs.},
        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},
@@ -566,12 +602,23 @@ few changes in existing programs.},
        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}},
@@ -737,7 +784,6 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -918,7 +964,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -954,7 +1000,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -972,7 +1018,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -1132,7 +1178,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -1248,6 +1294,7 @@ Publisher: Association for Computing Machinery},
        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,
@@ -1405,17 +1452,6 @@ Publisher: Association for Computing Machinery},
        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},
@@ -1425,6 +1461,9 @@ Publisher: Association for Computing Machinery},
        month = nov,
        year = {1998},
        note = {e-mail message, accessed on 2021-02-24},
+       annote = {
+
+},
 }
 
 @misc{margaret_deuter_rhapsody_2015,
@@ -1446,6 +1485,7 @@ Publisher: Association for Computing Machinery},
        author = {{Wikipedia contributors}},
        year = {2022},
        note = {accessed on: 2022-09-06},
+       annote = {[Online; accessed 6-September-2022]},
 }
 
 @incollection{backus_introduction_1990,
@@ -1563,7 +1603,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -1598,7 +1638,7 @@ Publisher: Association for Computing Machinery},
        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},
 }
@@ -1607,6 +1647,7 @@ Publisher: Association for Computing Machinery},
        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},
@@ -1691,6 +1732,74 @@ Publisher: Association for Computing Machinery},
        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},
+}