From: Mart Lubbers Date: Sun, 11 Jun 2017 07:56:47 +0000 (+0200) Subject: add parametric lens reference and todo X-Git-Tag: hand-in~92 X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=9662cccfffecb70d621318b5f3a35e46b6029f3c;p=msc-thesis1617.git add parametric lens reference and todo --- diff --git a/glossaries.tex b/glossaries.tex index c84b0b8..748a3c6 100644 --- a/glossaries.tex +++ b/glossaries.tex @@ -37,22 +37,23 @@ first={#2 (#1)},% firstplural={#2\glspluralsuffix{} (#1\glspluralsuffix)}, description={#2}}} -\newglossacr{GADT}{Generalized Algebraic Data type} -\newglossacr{GPIO} {General-Purpose Input/Output} \newglossacr{ADT} {Algebraic Datatype} -\newglossacr{SDS} {Shared Data Source} -\newglossacr{IoT} {Internet of Things} -\newglossacr{TOP} {Task Oriented Programming} -\newglossacr{EDSL} {Embedded Domain Specific Language} -\newglossacr{RISC} {Reduced Instruction Set Computer} \newglossacr{ARM} {Acorn \glsentryname{RISC} Machine} -\newglossacr{LTN} {Low Throughput Network} -\newglossacr{IDE} {Integrated Development Environment} -\newglossacr{TCP} {Transmission Control Protocol} -\newglossacr{RFID} {Radio-Frequency Identification} -\newglossacr{GNSS} {Global Navigation Satellite System} -\newglossacr{LCD} {Liquid Crystal Display} \newglossacr{AST} {Abstract Syntax Tree} -\newglossacr{GPS} {Global Positioning System} +\newglossacr{EDSL} {Embedded Domain Specific Language} +\newglossacr{GADT} {Generalized Algebraic Data type} \newglossacr{GLONASS}{Global Navigation Satellite System} -\newglossacr{RWST}{Reader Writer State Transformer Monad} +\newglossacr{GNSS} {Global Navigation Satellite System} +\newglossacr{GPIO} {General-Purpose Input/Output} +\newglossacr{GPS} {Global Positioning System} +\newglossacr{IDE} {Integrated Development Environment} +\newglossacr{IoT} {Internet of Things} +\newglossacr{JSON} {JavaScript Object Notation} +\newglossacr{LCD} {Liquid Crystal Display} +\newglossacr{LTN} {Low Throughput Network} +\newglossacr{RFID} {Radio-Frequency Identification} +\newglossacr{RISC} {Reduced Instruction Set Computer} +\newglossacr{RWST} {Reader Writer State Transformer Monad} +\newglossacr{SDS} {Shared Data Source} +\newglossacr{TCP} {Transmission Control Protocol} +\newglossacr{TOP} {Task Oriented Programming} diff --git a/methods.top.tex b/methods.top.tex index cb951a1..b54b50f 100644 --- a/methods.top.tex +++ b/methods.top.tex @@ -124,19 +124,33 @@ Listing~\ref{lst:combinators}. or in the \gls{iTasks} system. The shared data can be a file on disk, it can be the time, a random integer or just some data stored in memory. The actual \gls{SDS} is just a record containing functions on how to read and write the -source. In these functions the \CI{*World} is available and therefore it can -interact with the outside world. The \CI{*IWorld} is also available and -therefore the functions can also access other shares, possibly combining them. +source. In these functions the \CI{*IWorld} which in turn contains the real +program \CI{*World}. Accessing the outside world is required for interacting +with it and thus the functions can access files on disk, raw memory, other +shares and combine shares. The basic operations for \glspl{SDS} are get, set and update. The signatures -for these functions are shown in Listing~\ref{lst:shares}. All of the -operations are atomic in the sense that during reading no other tasks are -executed. +for these functions are shown in Listing~\ref{lst:shares}. By default, all +shares are files containing a \gls{JSON} encoded version of the object and thus +are persistent between restarts of the program. Library functions for shares +residing in memory are available as well. The three main operations on shares +are atomic in the sense that during reading no other tasks are executed. + +The basic type for \glspl{SDS} has three \todo{parametric +lenses}\cite{domoszlai_parametric_2014}. \begin{lstlisting}[% label={lst:shares},caption={\Gls{SDS} functions}] +:: RWShared p r w = ... +:: ReadWriteShared r w :== RWShared () r w +:: ROShared p r :== RWShared p () r +:: ReadOnlyShared r :== ROShared () r + +:: Shared r :== ReadWriteShared r r + get :: (ReadWriteShared r w) -> Task r | iTask r set :: w (ReadWriteShared r w) -> Task w | iTask w upd :: (r -> w) (ReadWriteShared r w) -> Task w | iTask r & iTask w +sharedStore :: String a -> Shared a | JSONEncode{|*|}, JSONDecode{|*|} \end{lstlisting} diff --git a/results.arch.tex b/results.arch.tex index cbef26c..24abb0f 100644 --- a/results.arch.tex +++ b/results.arch.tex @@ -34,7 +34,7 @@ the device software. \section{Specification} Devices are stored in a record type and all devices in the system are stored in a \gls{SDS} containing all devices. From the macro settings in the interface -file a profile is created for the device that describes the specification. When +file, a profile is created for the device that describes the specification. When a connection between the server and a client is established the server will send a request for specification. The client will serialize his specification and send it to the server so that the server knows what the client is capable @@ -68,16 +68,18 @@ device type the \gls{Task} is just a simple wrapper around the existing uses the newly developed serial port library of \gls{Clean}\footnote{\url{% https://gitlab.science.ru.nl/mlubbers/CleanSerial}}. -Besides all the communication information the record also keeps track of the -\glspl{Task} currently on the device and the according \glspl{SDS}. Finally it -stores the specification of the device that is received when connecting. -All of this is listed in Listing~\ref{lst:mtaskdevice}. The definitions of the -message format are explained in the following section. +Besides all the communication information, the record also keeps track of the +\glspl{Task} currently on the device, the compiler state (see +Section~\ref{sec:compiler}) and the according \glspl{SDS}. Finally it stores +the specification of the device that is received when connecting. All of this +is listed in Listing~\ref{lst:mtaskdevice}. The definitions of the message +format are explained in the following section. \begin{lstlisting}[caption={Device type},label={lst:mtaskdevice}] deviceStore :: Shared [MTaskDevice] :: Channels :== ([MTaskMSGRecv], [MTaskMSGSend], Bool) +:: BCState = ... // Compiler state, explained in later sections :: MTaskResource = TCPDevice TCPSettings | SerialDevice TTYSettings @@ -86,6 +88,7 @@ deviceStore :: Shared [MTaskDevice] , deviceError :: Maybe String , deviceChannels :: String , deviceName :: String + , deviceState :: BCState , deviceTasks :: [MTaskTask] , deviceData :: MTaskResource , deviceSpec :: Maybe MTaskDeviceSpec @@ -160,4 +163,4 @@ function and the record is updated accordingly. \subsection{\glspl{Task}} \subsection{\glspl{SDS}} -\todo{Connectie, hoe gaat dat in zijn werk} +\todo{Connectie, hoe gaat dat in zijn werk, andere berichtenuitwisselingen} diff --git a/results.mtask.tex b/results.mtask.tex index a702432..c32f7ac 100644 --- a/results.mtask.tex +++ b/results.mtask.tex @@ -23,7 +23,7 @@ might not be the final value it will get. Therefore a device must publish the added to the \CI{sds} class that adds the \CI{pub} function. \todo{elaborate} -\section{Bytecode compilation} +\section{Bytecode compilation}\label{sec:compiler} The \glspl{mTask} are sent to the device in bytecode and are saved in the memory of the device. To compile the \gls{EDSL} code to bytecode, a view is added to the \gls{mTask}-system called \CI{ByteCode}. As shown in diff --git a/thesis.bib b/thesis.bib index aad442e..9eb4dbe 100644 --- a/thesis.bib +++ b/thesis.bib @@ -1,28 +1,25 @@ -@incollection{achten_introduction_2015, - title = {An {Introduction} to {Task} {Oriented} {Programming}}, - booktitle = {Central {European} {Functional} {Programming} {School}}, - publisher = {Springer}, - author = {Achten, Peter and Koopman, Pieter and Plasmeijer, Rinus}, - year = {2015}, - pages = {187--245}, - file = {chp%3A10.1007%2F978-3-319-15940-9_5.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/ZSDSIIT7/chp%3A10.1007%2F978-3-319-15940-9_5.pdf:application/pdf} +@article{da_xu_internet_2014, + title = {Internet of things in industries: a survey}, + volume = {10}, + number = {4}, + journal = {Industrial Informatics, IEEE Transactions on}, + author = {Da Xu, Li and He, Wu and Li, Shancang}, + year = {2014}, + pages = {2233--2243}, + file = {IOT industrial survey.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/EJHG7M8I/IOT industrial survey.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}, - url = {http://link.springer.com/10.1007/978-3-319-39110-6}, - urldate = {2017-02-22}, - booktitle = {Trends in {Functional} {Programming}}, - publisher = {Springer International Publishing}, - author = {Plasmeijer, Rinus and Koopman, Pieter}, - year = {2016}, - note = {DOI: 10.1007/978-3-319-39110-6}, - file = {chp%3A10.1007%2F978-3-319-39110-6_6.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/TJVP6FHF/chp%3A10.1007%2F978-3-319-39110-6_6.pdf:application/pdf} +@inproceedings{svenningsson_combining_2012, + title = {Combining deep and shallow embedding for {EDSL}}, + url = {http://link.springer.com/chapter/10.1007/978-3-642-40447-4_2}, + urldate = {2017-05-10}, + booktitle = {International {Symposium} on {Trends} in {Functional} {Programming}}, + publisher = {Springer}, + author = {Svenningsson, Josef and Axelsson, Emil}, + year = {2012}, + pages = {21--36}, + file = {svenningsson2013combining.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/NFBGZCZT/svenningsson2013combining.pdf:application/pdf} } @article{koopman_type-safe_nodate, @@ -30,30 +27,31 @@ url = {https://tfp2016.org/papers/TFP_2016_paper_7.pdf}, urldate = {2017-02-22}, author = {Koopman, Pieter and Plasmeijer, Rinus}, - file = {TFP_2016_paper_7.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/WR3PZNTT/TFP_2016_paper_7.pdf:application/pdf} + file = {TFP_2016_paper_7.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/WR3PZNTT/TFP_2016_paper_7.pdf:application/pdf} } -@inproceedings{brus_cleanlanguage_1987, - title = {Clean—a language for functional graph rewriting}, - url = {http://link.springer.com/chapter/10.1007/3-540-18317-5_20}, - urldate = {2017-02-24}, - booktitle = {Conference on {Functional} {Programming} {Languages} and {Computer} {Architecture}}, - publisher = {Springer}, - author = {Brus, T. H. and van Eekelen, Marko CJD and Van Leer, M. O. and Plasmeijer, Marinus J.}, - year = {1987}, - pages = {364--384}, - file = {Clean —\; A language for functional graph rewriting - chp%3A10.1007%2F3-540-18317-5_20.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/GCEPPRUJ/chp%3A10.1007%2F3-540-18317-5_20.pdf:application/pdf} +@phdthesis{oortgiese_distributed_2017, + address = {Nijmegen}, + type = {Master}, + title = {A {Distributed} {Server} {Architecture} for {Task} {Oriented} {Programming}}, + shorttitle = {A {Distributed} {Server} {Architecture} for {Task} {Oriented} {Programming}}, + url = {http://www.ru.nl/publish/pages/769526/arjan_oortgiese.pdf}, + language = {English}, + urldate = {2017-04-08}, + school = {Radboud University}, + author = {Oortgiese, Arjan}, + year = {2017}, + file = {arjan_oortgiese.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/J4WXQXU4/arjan_oortgiese.pdf:application/pdf} } -@article{da_xu_internet_2014, - title = {Internet of things in industries: a survey}, - volume = {10}, - number = {4}, - journal = {Industrial Informatics, IEEE Transactions on}, - author = {Da Xu, Li and He, Wu and Li, Shancang}, - year = {2014}, - pages = {2233--2243}, - file = {IOT industrial survey.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/EJHG7M8I/IOT industrial survey.pdf:application/pdf} +@incollection{achten_introduction_2015, + title = {An {Introduction} to {Task} {Oriented} {Programming}}, + booktitle = {Central {European} {Functional} {Programming} {School}}, + publisher = {Springer}, + author = {Achten, Peter and Koopman, Pieter and Plasmeijer, Rinus}, + year = {2015}, + pages = {187--245}, + file = {chp%3A10.1007%2F978-3-319-15940-9_5.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/ZSDSIIT7/chp%3A10.1007%2F978-3-319-15940-9_5.pdf:application/pdf} } @book{lijnse_top_2013, @@ -66,21 +64,34 @@ author = {Lijnse, Bas}, year = {2013}, note = {OCLC: 833851220}, - file = {103931.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/9KZ9I6N9/103931.pdf:application/pdf} + file = {103931.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/9KZ9I6N9/103931.pdf:application/pdf} } -@phdthesis{oortgiese_distributed_2017, - address = {Nijmegen}, - type = {Master}, - title = {A {Distributed} {Server} {Architecture} for {Task} {Oriented} {Programming}}, - shorttitle = {A {Distributed} {Server} {Architecture} for {Task} {Oriented} {Programming}}, - url = {http://www.ru.nl/publish/pages/769526/arjan_oortgiese.pdf}, - language = {English}, - urldate = {2017-04-08}, - school = {Radboud University}, - author = {Oortgiese, Arjan}, - year = {2017}, - file = {arjan_oortgiese.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/J4WXQXU4/arjan_oortgiese.pdf:application/pdf} +@inproceedings{pike_programming_2014, + title = {Programming languages for high-assurance autonomous vehicles: extended abstract}, + isbn = {978-1-4503-2567-7}, + shorttitle = {Programming languages for high-assurance autonomous vehicles}, + url = {http://dl.acm.org/citation.cfm?doid=2541568.2541570}, + doi = {10.1145/2541568.2541570}, + language = {en}, + urldate = {2017-05-10}, + publisher = {ACM Press}, + author = {Pike, Lee and Hickey, Patrick and Bielman, James and Elliott, Trevor and DuBuisson, Thomas and Launchbury, John}, + year = {2014}, + pages = {1--2}, + file = {pike-plpv14.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/MTUSHBNF/pike-plpv14.pdf:application/pdf} +} + +@inproceedings{brus_cleanlanguage_1987, + title = {Clean—a language for functional graph rewriting}, + url = {http://link.springer.com/chapter/10.1007/3-540-18317-5_20}, + urldate = {2017-02-24}, + booktitle = {Conference on {Functional} {Programming} {Languages} and {Computer} {Architecture}}, + publisher = {Springer}, + author = {Brus, T. H. and van Eekelen, Marko CJD and Van Leer, M. O. and Plasmeijer, Marinus J.}, + year = {1987}, + pages = {364--384}, + file = {Clean —\; A language for functional graph rewriting - chp%3A10.1007%2F3-540-18317-5_20.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/GCEPPRUJ/chp%3A10.1007%2F3-540-18317-5_20.pdf:application/pdf} } @incollection{havelund_practical_2015, @@ -96,34 +107,23 @@ editor = {Havelund, Klaus and Holzmann, Gerard and Joshi, Rajeev}, year = {2015}, note = {DOI: 10.1007/978-3-319-17524-9}, - file = {mart_paper.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/5SXR59GR/mart_paper.pdf:application/pdf} -} - -@inproceedings{pike_programming_2014, - title = {Programming languages for high-assurance autonomous vehicles: extended abstract}, - isbn = {978-1-4503-2567-7}, - shorttitle = {Programming languages for high-assurance autonomous vehicles}, - url = {http://dl.acm.org/citation.cfm?doid=2541568.2541570}, - doi = {10.1145/2541568.2541570}, - language = {en}, - urldate = {2017-05-10}, - publisher = {ACM Press}, - author = {Pike, Lee and Hickey, Patrick and Bielman, James and Elliott, Trevor and DuBuisson, Thomas and Launchbury, John}, - year = {2014}, - pages = {1--2}, - file = {pike-plpv14.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/MTUSHBNF/pike-plpv14.pdf:application/pdf} + file = {mart_paper.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/5SXR59GR/mart_paper.pdf:application/pdf} } -@inproceedings{svenningsson_combining_2012, - title = {Combining deep and shallow embedding for {EDSL}}, - url = {http://link.springer.com/chapter/10.1007/978-3-642-40447-4_2}, - urldate = {2017-05-10}, - booktitle = {International {Symposium} on {Trends} in {Functional} {Programming}}, - publisher = {Springer}, - author = {Svenningsson, Josef and Axelsson, Emil}, - year = {2012}, - pages = {21--36}, - file = {svenningsson2013combining.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/NFBGZCZT/svenningsson2013combining.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}, + url = {http://link.springer.com/10.1007/978-3-319-39110-6}, + urldate = {2017-02-22}, + booktitle = {Trends in {Functional} {Programming}}, + publisher = {Springer International Publishing}, + author = {Plasmeijer, Rinus and Koopman, Pieter}, + year = {2016}, + note = {DOI: 10.1007/978-3-319-39110-6}, + file = {chp%3A10.1007%2F978-3-319-39110-6_6.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/TJVP6FHF/chp%3A10.1007%2F978-3-319-39110-6_6.pdf:application/pdf} } @techreport{cheney_first-class_2003, @@ -133,7 +133,7 @@ institution = {Cornell University}, author = {Cheney, James and Hinze, Ralf}, year = {2003}, - file = {https\://ecommons.cornell.edu/bitstream/handle/1813/5614/?sequence=1:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/R5IFMHTP/5614.pdf:application/pdf} + file = {https\://ecommons.cornell.edu/bitstream/handle/1813/5614/?sequence=1:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/R5IFMHTP/5614.pdf:application/pdf} } @inproceedings{cheney_lightweight_2002, @@ -145,29 +145,29 @@ author = {Cheney, James and Hinze, Ralf}, year = {2002}, pages = {90--104}, - file = {HW02.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/A8Z49NK6/HW02.pdf:application/pdf} + file = {HW02.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/A8Z49NK6/HW02.pdf:application/pdf} } -@misc{noauthor_arduino_nodate, - title = {Arduino - {Open} {Source} {Products} for {Electronic} {Projects}}, - url = {http://www.arduino.org/}, +@article{domoszlai_implementing_2011, + title = {Implementing a non-strict purely functional language in {JavaScript}}, + volume = {3}, + url = {https://www.researchgate.net/profile/Jan_Martin_Jansen2/publication/230607075_Implementing_a_non-strict_purely_functional_language_in_JavaScript/links/53fc40190cf22f21c2f3b28a.pdf}, urldate = {2017-05-23}, - file = {Arduino - Open Source Products for Electronic Projects:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/FPPFH7D2/www.arduino.org.html:text/html} + journal = {Acta Universitatis Sapientiae}, + author = {Domoszlai, Laszlo and Bruel, Eddy and Jansen, Jan Martin}, + year = {2011}, + pages = {76--98}, + file = {53fc40190cf22f21c2f3b28a.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/2EVHREI3/53fc40190cf22f21c2f3b28a.pdf:application/pdf} } -@article{riazul_islam_internet_2015, - title = {The {Internet} of {Things} for {Health} {Care}: {A} {Comprehensive} {Survey}}, - volume = {3}, - issn = {2169-3536}, - shorttitle = {The {Internet} of {Things} for {Health} {Care}}, - url = {http://ieeexplore.ieee.org/document/7113786/}, - doi = {10.1109/ACCESS.2015.2437951}, +@inproceedings{domoszlai_compiling_2012, + title = {Compiling {Haskell} to {JavaScript} through {Clean}’s core}, + url = {http://ac.inf.elte.hu/Vol_036_2012/117_36.pdf}, urldate = {2017-05-23}, - journal = {IEEE Access}, - author = {Riazul Islam, S. M. and {Daehan Kwak} and Humaun Kabir, Md and Hossain, Mahmud and {Kyung-Sup Kwak}}, - year = {2015}, - pages = {678--708}, - file = {07113786.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/7FNMPTHJ/07113786.pdf:application/pdf} + booktitle = {Selected papers of 9th {Joint} {Conference} on {Mathematics} and {Computer} {Science} ({February} 2012)}, + author = {Domoszlai, László and Plasmeijer, Rinus}, + year = {2012}, + file = {117_36.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/DMQC59C4/117_36.pdf:application/pdf} } @article{plasmeijer_itasks:_2007, @@ -178,21 +178,40 @@ author = {Plasmeijer, Rinus and Achten, Peter and Koopman, Pieter}, year = {2007}, pages = {141--152}, - file = {plar2007-ICFP07-iTasks.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/N8EUZP7D/plar2007-ICFP07-iTasks.pdf:application/pdf} -} - -@misc{noauthor_firmata/protocol:_nodate, - title = {firmata/protocol: {Documentation} of the {Firmata} protocol.}, - url = {https://github.com/firmata/protocol}, - urldate = {2017-05-23}, - file = {firmata/protocol\: Documentation of the Firmata protocol.:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/98HIGKIS/protocol.html:text/html} + file = {plar2007-ICFP07-iTasks.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/N8EUZP7D/plar2007-ICFP07-iTasks.pdf:application/pdf} } @misc{noauthor_harduino_nodate, title = {{hArduino} by {LeventErkok}}, url = {https://leventerkok.github.io/hArduino/}, urldate = {2017-05-23}, - file = {hArduino by LeventErkok:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/JUDWSMV9/hArduino.html:text/html} + file = {hArduino by LeventErkok:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/JUDWSMV9/hArduino.html:text/html} +} + +@inproceedings{elliott_guilt_2015, + title = {Guilt free ivory}, + volume = {50}, + booktitle = {{ACM} {SIGPLAN} {Notices}}, + publisher = {ACM}, + author = {Elliott, Trevor and Pike, Lee and Winwood, Simon and Hickey, Pat and Bielman, James and Sharp, Jamey and Seidel, Eric and Launchbury, John}, + year = {2015}, + pages = {189--200}, + file = {5678351608ae125516ee79c6.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/KJMFUH7T/5678351608ae125516ee79c6.pdf:application/pdf} +} + +@article{riazul_islam_internet_2015, + title = {The {Internet} of {Things} for {Health} {Care}: {A} {Comprehensive} {Survey}}, + volume = {3}, + issn = {2169-3536}, + shorttitle = {The {Internet} of {Things} for {Health} {Care}}, + url = {http://ieeexplore.ieee.org/document/7113786/}, + doi = {10.1109/ACCESS.2015.2437951}, + urldate = {2017-05-23}, + journal = {IEEE Access}, + author = {Riazul Islam, S. M. and {Daehan Kwak} and Humaun Kabir, Md and Hossain, Mahmud and {Kyung-Sup Kwak}}, + year = {2015}, + pages = {678--708}, + file = {07113786.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/7FNMPTHJ/07113786.pdf:application/pdf} } @article{jansen_efficient_2007, @@ -204,40 +223,21 @@ author = {Jansen, Jan Martin and Koopman, Pieter and Plasmeijer, Rinus}, year = {2007}, pages = {73}, - file = {janj2007-TFP06-EfficientInterpretationOfSAPL.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/AQDI7QVE/janj2007-TFP06-EfficientInterpretationOfSAPL.pdf:application/pdf} + file = {janj2007-TFP06-EfficientInterpretationOfSAPL.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/AQDI7QVE/janj2007-TFP06-EfficientInterpretationOfSAPL.pdf:application/pdf} } -@inproceedings{domoszlai_compiling_2012, - title = {Compiling {Haskell} to {JavaScript} through {Clean}’s core}, - url = {http://ac.inf.elte.hu/Vol_036_2012/117_36.pdf}, +@misc{noauthor_firmata/protocol:_nodate, + title = {firmata/protocol: {Documentation} of the {Firmata} protocol.}, + url = {https://github.com/firmata/protocol}, urldate = {2017-05-23}, - booktitle = {Selected papers of 9th {Joint} {Conference} on {Mathematics} and {Computer} {Science} ({February} 2012)}, - author = {Domoszlai, László and Plasmeijer, Rinus}, - year = {2012}, - file = {117_36.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/DMQC59C4/117_36.pdf:application/pdf} + file = {firmata/protocol\: Documentation of the Firmata protocol.:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/98HIGKIS/protocol.html:text/html} } -@article{domoszlai_implementing_2011, - title = {Implementing a non-strict purely functional language in {JavaScript}}, - volume = {3}, - url = {https://www.researchgate.net/profile/Jan_Martin_Jansen2/publication/230607075_Implementing_a_non-strict_purely_functional_language_in_JavaScript/links/53fc40190cf22f21c2f3b28a.pdf}, +@misc{noauthor_arduino_nodate, + title = {Arduino - {Open} {Source} {Products} for {Electronic} {Projects}}, + url = {http://www.arduino.org/}, urldate = {2017-05-23}, - journal = {Acta Universitatis Sapientiae}, - author = {Domoszlai, Laszlo and Bruel, Eddy and Jansen, Jan Martin}, - year = {2011}, - pages = {76--98}, - file = {53fc40190cf22f21c2f3b28a.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/2EVHREI3/53fc40190cf22f21c2f3b28a.pdf:application/pdf} -} - -@inproceedings{elliott_guilt_2015, - title = {Guilt free ivory}, - volume = {50}, - booktitle = {{ACM} {SIGPLAN} {Notices}}, - publisher = {ACM}, - author = {Elliott, Trevor and Pike, Lee and Winwood, Simon and Hickey, Pat and Bielman, James and Sharp, Jamey and Seidel, Eric and Launchbury, John}, - year = {2015}, - pages = {189--200}, - file = {5678351608ae125516ee79c6.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/KJMFUH7T/5678351608ae125516ee79c6.pdf:application/pdf} + file = {Arduino - Open Source Products for Electronic Projects:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/FPPFH7D2/www.arduino.org.html:text/html} } @inproceedings{hickey_building_2014, @@ -251,5 +251,18 @@ author = {Hickey, Patrick C. and Pike, Lee and Elliott, Trevor and Bielman, James and Launchbury, John}, year = {2014}, pages = {3--9}, - file = {embedded-experience.pdf:/home/mrl/.mozilla/firefox/7b4r727h.default-1470981082057/zotero/storage/7IHBGC8H/embedded-experience.pdf:application/pdf} + file = {embedded-experience.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/7IHBGC8H/embedded-experience.pdf:application/pdf} +} + +@inproceedings{domoszlai_parametric_2014, + title = {Parametric lenses: change notification for bidirectional lenses}, + shorttitle = {Parametric lenses}, + url = {http://dl.acm.org/citation.cfm?id=2746333}, + urldate = {2017-05-29}, + booktitle = {Proceedings of the 26nd 2014 {International} {Symposium} on {Implementation} and {Application} of {Functional} {Languages}}, + publisher = {ACM}, + author = {Domoszlai, László and Lijnse, Bas and Plasmeijer, Rinus}, + year = {2014}, + pages = {9}, + file = {ifl2014_submission_20.pdf:/home/mrl/.mozilla/firefox/a614qfce.default/zotero/storage/3WI8PI5D/ifl2014_submission_20.pdf:application/pdf} }