-\newglossaryentry{Arduino}{name=Arduino,
+\newglossaryentry{Arduino}{name=\emph{Arduino},
description={is a cheap and popular microcontroller that is widely used for
rapid prototyping}}
-\newglossaryentry{Clean}{name=Clean,
- description={is a staticly typed pure lazy functional programming language based on graph
- rewriting}}
-\newglossaryentry{Haskell}{name=Haskell,
+\newglossaryentry{Clean}{name={\emph{Clean}},
+ description={is a statically typed pure lazy functional programming
+ language based on graph rewriting}}
+\newglossaryentry{Haskell}{name={\emph{Haskell}},
description={is a staticly typed pure lazy functional programming language}}
-\newglossaryentry{iTasks}{name=iTasks,
- description={is a \acrshort{TOP} implementation written as a \acrshort{EDSL}
- in the \gls{Clean} programming language}}
-\newglossaryentry{Ivory}{name=Ivory,
+\newglossaryentry{iTasks}{name=\emph{iTasks},
+ description={is a \acrshort{TOP} implementation written as an
+ \acrshort{EDSL} in the \gls{Clean} programming language}}
+\newglossaryentry{Ivory}{name={\emph{Ivory}},
description={is a type-safe \gls{EDSL} designed to generate \gls{C}-code
for high-assurance low-level systems}}
-\newglossaryentry{Tower}{name=Tower,
- description={is a type-safe \gls{EDSL} similar to \gls{Ivory} designed to
- generate code for \acrlong{RTOS}}}
-\newglossaryentry{Task}{name=Task,
+\newglossaryentry{Task}{name=\emph{Task},
description={is the basic building block of a \acrshort{TOP} system}}
-\newglossaryentry{mTask}{name=mTask,
- description={is an abstraction for \glspl{Task} living on \acrshort{IoT} devices}}
-\newglossaryentry{C}{name=C,
+\newglossaryentry{mTask}{name=\emph{mTask},
+ description={is an abstraction for \glspl{Task} living on \acrshort{IoT}
+ devices. Moreover, it is the name of an \gls{EDSL}}}
+\newglossaryentry{C}{name=\textsc{C},
description={is low-level imperative programming language suitable for
embedded devices}}
-\newglossaryentry{C++}{name=C++,
+\newglossaryentry{C++}{name={\textsc{C++}},
description={is low-level imperative and object-oriented programming
language suitable for embedded devices based on \gls{C}}}
-\newglossaryentry{SAPL}{name=SAPL,
+\newglossaryentry{SAPL}{name={\textsc{SAPL}},
description={is an intermediate purely functional programming language}}
-\newglossaryentry{Firmata}{name=Firmata,
+\newglossaryentry{Firmata}{name={\emph{Firmata}},
description={is standardized protocol for communicating with
microcontrollers}}
-\newglossaryentry{Javascript}{name=Javascript,
+\newglossaryentry{Javascript}{name={\emph{Javascript}},
description={is an imperative programming language designed to run in web
browsers}}
+\newglossaryentry{LED}{name={LED},
+ description={Lighting Emitting Diode}}
+\newcommand{\newglossacr}[2]{\newglossaryentry{#1}{
+ name={#1},
+ first={#2 (#1)},%
+ firstplural={#2\glspluralsuffix{} (#1\glspluralsuffix)},
+ description={#2}}}
+\newglossacr{ADT} {Algebraic Datatype}
+\newglossacr{ARM} {Acorn \glsentryname{RISC} Machine}
+\newglossacr{AST} {Abstract Syntax Tree}
+\newglossacr{EDSL} {Embedded Domain Specific Language}
+\newglossacr{GADT} {Generalized Algebraic Data type}
+\newglossacr{GLONASS}{Global Navigation Satellite System}
+\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}
+\newglossacr{MSB} {Most Significant Byte}