-\usepackage[nolangwarn,abbreviations,nonumberlist,prefix]{glossaries-extra}
+\usepackage[nolangwarn,nonumberlist,prefix]{glossaries-extra}
\setabbreviationstyle{long-short-sc}
\setabbreviationstyle[noexpand]{short-nolong}
+\setabbreviationstyle[scabbr]{short-sc-nolong}
\Addlcwords{of}
+\glssetcategoryattribute{abbreviation}{glossname}{uc}
+\glssetcategoryattribute{noexpand}{glossname}{uc}
+\glssetcategoryattribute{scabbr}{glossname}{uc}
+\GlsXtrEnableInitialTagging{acronym,abbreviation}{\itag}
+
+\newcommand*{\glsxtrpostnameacronym}{%
+ \space\rm\glsentrylong{\glscurrententrylabel}, %
+}
+%\renewcommand*{\glsxtrpostdescabbreviation}{%
+% \space (initialism)%
+%}
+
\usepackage{glossary-mcols}
\pdfstringdefDisableCommands{%
\def\glsxtrlong#1{}%
\def\glsxtrlongpl#1{}%
\def\glsxtrshort#1{}%
\def\glsxtrshortpl#1{}%
- \def\acrfull#1{}%
- \def\acrfullpl#1{}%
\def\Glsxtrlong#1{}%
\def\Glsxtrlongpl#1{}%
\def\Glsxtrshort#1{}%
\def\Glsxtrshortpl#1{}%
- \def\Acrfull#1{}%
- \def\Acrfullpl#1{}%
\def\gls#1{}%
\def\glspl#1{}%
- \def\glsentrytext#1{}%
\def\Gls#1{}%
\def\Glspl#1{}%
- \def\Glsentrytext#1{}%
- \def\titlecap#1{}%
\def\MakeUppercase#1{}%
}
% Initialize the glossaries
\makeglossaries%
-% Acronym
-\newcommand{\myacronym}[4][]{%
-% \newacronym[type=\glsdefaulttype,#1]{#2}{#3}{#4}
- \newabbreviation[#1]{#2}{#3}{#4}
-}
-\myacronym[category=noexpand]{3COWS}{3cows}{The three ``CO'' (Composability, Comprehensibility, Correctness) winter school}
-\myacronym{ADC}{adc}{analog-to-digital converter}
-\myacronym{ADT}{adt}{algebraic data type}
-\myacronym{AST}{ast}{abstract syntax tree}
-\myacronym{API}{api}{application programming interface}
-\myacronym{ARDSL}{ardsl}{\gls{ARDUINO} \glsxtrshort{DSL}}
-\myacronym[category=noexpand]{CEFP}{cefp}{Central European \glsxtrlong{FP} School}
-\myacronym{CRS}{crs}{\gls{CLEAN} Raspberry Pi system}
-\myacronym{CRTS}{crts}{\gls{CLEAN} Raspberry Pi temperature sensor}
-\myacronym{CWS}{cws}{\gls{CLEAN} \gls{WEMOS} system}
-\myacronym{CWTS}{cwts}{\gls{CLEAN} \gls{WEMOS} temperature sensor}
-\myacronym{DHT}{dht}{digital humidity and temperature}
-\myacronym{DSL}{dsl}{domain-specific language}
-\myacronym{DVFS}{dvfs}{dynamic voltage and frequency scaling}
-\myacronym{ECO2}{eCO\textsubscript{2}}{equivalent carbon dioxide}
-\myacronym{EDSL}{edsl}{embedded \glsxtrlong{DSL}}
-\myacronym[prefixfirst={a\ },prefix={an\ }]{FP}{fp}{functional programming}
-\myacronym[prefixfirst={a\ },prefix={an\ }]{FRP}{frp}{functional reactive programming}
-\myacronym[prefixfirst={a\ },prefix={an\ }]{FPGA}{fpga}{field-programmable gate array}
-\myacronym{GADT}{gadt}{generalised \glsxtrshort{ADT}}
-\myacronym{GHC}{ghc}{Glasgow \gls{HASKELL} Compiler}
-\myacronym{GPIO}{gpio}{general-purpose \glsxtrlong{IO}}
-\myacronym{GPL}{gpl}{general-purpose language}
-\myacronym{GRS}{grs}{graph rewriting system}
-\myacronym{GUI}{gui}{graphical \glsxtrlong{UI}}
-\myacronym{HOAS}{hoas}{high-order abstract syntax}
-\myacronym{IOT}{Io\kern-.3mmT}{internet of things}
-\myacronym[category=noexpand]{IDE}{ide}{integrated development environment}
-\myacronym[category=noexpand]{IO}{i/o}{input/output}
-\myacronym{IR}{ir}{intermediate representation}
-\myacronym{ISR}{isr}{interrupt service routine}
-\myacronym{LEAN}{lean}{language of East-Anglia and Nijmegen}
-\myacronym[category=noexpand,prefixfirst={a\ },prefix={an\ }]{LED}{led}{light-emitting diode}
-\myacronym[category=noexpand]{OLED}{oled}{organic \glsxtrshort{LED}}
-\myacronym[category=noexpand]{OS}{os}{operating system}
-\myacronym{OTA}{ota}{over-the-air}
-\myacronym{PIR}{pir}{passive infrared}
-\myacronym{PFRP}{p-frp}{priority-based \glsxtrshort{FRP}}
-\myacronym{PRS}{prs}{\gls{PYTHON} Raspberry Pi system}
-\myacronym{PWS}{pws}{\gls{MICROPYTHON} \gls{WEMOS} system}
-\myacronym{PRTS}{prts}{\gls{PYTHON} Raspberry Pi temperature sensor}
-\myacronym{PWTS}{pwts}{\gls{MICROPYTHON} \gls{WEMOS} temperature sensor}
-\myacronym{QDSL}{qdsl}{quoted \glsxtrshort{DSL}}
-\myacronym[category=noexpand]{RAM}{ram}{random-access memory}
-\myacronym{RFID}{rfid}{radio-frequency identification}
-\myacronym{RTOS}{rtos}{real-time \glsxtrshort{OS}}
-\myacronym{RTS}{rts}{run-time system}
-\myacronym[prefixfirst={a\ },prefix={an\ }]{SDS}{sds}{shared data source}
-\myacronym[prefixfirst={a\ },prefix={an\ }]{SN}{sn}{sensor network}
-\myacronym{SLOC}{sloc}{source lines of code}
-\myacronym{TH}{th}{Template \gls{HASKELL}}
-\myacronym[category=noexpand]{TCP}{tcp}{transmission control protocol}
-\myacronym{TOP}{top}{task-oriented programming}
-\myacronym{TOSD}{tosd}{task-oriented software development}
-\myacronym{TRS}{trs}{term rewriting system}
-\myacronym{TTH}{tth}{typed \glsxtrlong{TH}}
-\myacronym{TVOC}{tvoc}{total volatile organic compounds}
-\myacronym{UI}{ui}{user interface}
-\myacronym{UOD}{uod}{universe of discourse}
-\myacronym{UOG}{uog}{University of Glasgow}
-\myacronym{VM}{vm}{virtual machine}
+% Acronyms
+\newacronym[description={the CO\textsubscript{2} concentration calculated from \glsxtrshort{TVOC} measurements}]{ECO2}{(eCO\textsubscript{2})}{equivalent carbon dioxide}
+\newacronym[category=scabbr,description={a open data interchange format using human readable text}]{JSON}{{\scshape JSON}}{(JavaScript object notation)}
+\newacronym[category=scabbr,description={a publish-subscribe network protocol designed for resource constrained devices}]{MQTT}{{\scshape MQTT}}{(MQ telemetry transport)}
+\newacronym[description={a pure lazy \glsxtrlong{FP} language based on graph rewriting}]{CLEAN}{Clean}{(Clean language of East-Anglia and Nijmegen)}
+\newacronym[description={a simple serial communication protocol often used to connect sensors to microcontrollers}]{I2C}{I\textsuperscript{2}C}{(inter-integrated circuit)}
+\newacronym[category=scabbr,description={passive infrared}]{PIR}{{\scshape PIR}}{}
+\newacronym[category=scabbr,description={task-oriented programming}]{TOP}{{\scshape TOP}}{}
+\newacronym[category=scabbr,description={the three ``CO'' (composability, comprehensibility, correctness) of working software}]{3COWS}{{\scshape 3COWS}}{}
+
+% Initialisms
+\newabbreviation{ADC}{adc}{analog-to-digital converter}
+\newabbreviation{ADT}{adt}{algebraic data type}
+\newabbreviation{AST}{ast}{abstract syntax tree}
+\newabbreviation{API}{api}{application programming interface}
+\newabbreviation{ARDSL}{ardsl}{\gls{ARDUINO} \glsxtrshort{DSL}}
+\newabbreviation[category=noexpand]{CEFP}{cefp}{Central European \glsxtrlong{FP} School}
+\newabbreviation{CRS}{crs}{\gls{CLEAN} Raspberry Pi system}
+\newabbreviation{CRTS}{crts}{\gls{CLEAN} Raspberry Pi temperature sensor}
+\newabbreviation{CWS}{cws}{\gls{CLEAN} \gls{WEMOS} system}
+\newabbreviation{CWTS}{cwts}{\gls{CLEAN} \gls{WEMOS} temperature sensor}
+\newabbreviation{DHT}{dht}{digital humidity and temperature}
+\newabbreviation{DSL}{dsl}{domain-specific language}
+\newabbreviation{DVFS}{dvfs}{dynamic voltage and frequency scaling}
+\newabbreviation{EDSL}{edsl}{embedded \glsxtrlong{DSL}}
+\newabbreviation[prefixfirst={a\ },prefix={an\ }]{FP}{fp}{functional programming}
+\newabbreviation[prefixfirst={a\ },prefix={an\ }]{FRP}{frp}{functional reactive programming}
+\newabbreviation[prefixfirst={a\ },prefix={an\ }]{FPGA}{fpga}{field-programmable gate array}
+\newabbreviation{GADT}{gadt}{generalised \glsxtrshort{ADT}}
+\newabbreviation{GHC}{ghc}{Glasgow \gls{HASKELL} Compiler}
+\newabbreviation{GPIO}{gpio}{general-purpose \glsxtrlong{IO}}
+\newabbreviation{GPL}{gpl}{general-purpose language}
+\newabbreviation{GRS}{grs}{graph rewriting system}
+\newabbreviation{GUI}{gui}{graphical \glsxtrlong{UI}}
+\newabbreviation{HOAS}{hoas}{high-order abstract syntax}
+%\newabbreviation{IOT}{Io\kern-.3mmT}{internet of things}
+\newabbreviation{IOT}{iot}{internet of things}
+\newabbreviation[category=noexpand]{IDE}{ide}{integrated development environment}
+\newabbreviation[category=noexpand]{IO}{i/o}{input/output}
+\newabbreviation{IR}{ir}{intermediate representation}
+\newabbreviation{ISR}{isr}{interrupt service routine}
+\newabbreviation[category=noexpand,prefixfirst={a\ },prefix={an\ }]{LED}{led}{light-emitting diode}
+\newabbreviation[category=noexpand]{OLED}{oled}{organic \glsxtrshort{LED}}
+\newabbreviation[category=noexpand]{OS}{os}{operating system}
+\newabbreviation{OTA}{ota}{over-the-air}
+\newabbreviation{PFRP}{p-frp}{priority-based \glsxtrshort{FRP}}
+\newabbreviation{PRS}{prs}{\gls{PYTHON} Raspberry Pi system}
+\newabbreviation{PWS}{pws}{\gls{MICROPYTHON} \gls{WEMOS} system}
+\newabbreviation{PRTS}{prts}{\gls{PYTHON} Raspberry Pi temperature sensor}
+\newabbreviation{PWTS}{pwts}{\gls{MICROPYTHON} \gls{WEMOS} temperature sensor}
+\newabbreviation{QDSL}{qdsl}{quoted \glsxtrshort{DSL}}
+\newabbreviation[category=noexpand]{RAM}{ram}{random-access memory}
+\newabbreviation{RFID}{rfid}{radio-frequency identification}
+\newabbreviation{RTOS}{rtos}{real-time \glsxtrshort{OS}}
+\newabbreviation{RTS}{rts}{run-time system}
+\newabbreviation[prefixfirst={a\ },prefix={an\ }]{SDS}{sds}{shared data source}
+\newabbreviation[prefixfirst={a\ },prefix={an\ }]{SN}{sn}{sensor network}
+\newabbreviation{SLOC}{sloc}{source lines of code}
+\newabbreviation[description={a synchronous serial communication protocol often used to connect sensors to microcontrollers}]{SPI}{SPI}{Serial Peripheral Interface}
+\newabbreviation{TH}{th}{Template \gls{HASKELL}}
+\newabbreviation[category=noexpand]{TCP}{tcp}{transmission control protocol}
+\newabbreviation{TOSD}{tosd}{task-oriented software development}
+\newabbreviation{TRS}{trs}{term rewriting system}
+\newabbreviation{TTH}{tth}{typed \glsxtrlong{TH}}
+\newabbreviation{TVOC}{tvoc}{total volatile organic compounds}
+\newabbreviation{UI}{ui}{user interface}
+\newabbreviation{UOD}{uod}{universe of discourse}
+\newabbreviation{UOG}{uog}{University of Glasgow}
+\newabbreviation{VM}{vm}{virtual machine}
% Glossaries
\newglossaryentry{ABC}{%
name=ABC,
- description={- \gls{CLEAN}'s intermediate graph-rewriting language},
+ description={\gls{CLEAN}'s intermediate graph-rewriting language},
}
\newglossaryentry{MTASK}{%
name=mTask,
- description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for edge devices integrated with the \gls{ITASK} system},
+ description={a \glsxtrshort{TOP} \glsxtrshort{EDSL} for edge devices integrated with the \gls{ITASK} system},
}
\newglossaryentry{ITASK}{%
name=iTask,
- description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for creating distributed multi-user collaborative web applications},
+ description={a \glsxtrshort{TOP} \glsxtrshort{EDSL} for creating distributed multi-user collaborative web applications},
}
\newglossaryentry{TOPHAT}{%
name=TopHat,
- description={- a \glsxtrshort{TOP} language designed to formally capture the essence of \gls{TOP}}
-}
-\newglossaryentry{CLEAN}{%
- name=Clean,
- description={- Clean \glsxtrlong{LEAN}, a pure lazy \glsxtrlong{FP} language based on graph rewriting}
+ description={a \glsxtrshort{TOP} language designed to formally capture the essence of \gls{TOP}}
}
\newglossaryentry{HASKELL}{%
name=Haskell,
- description={- a pure lazy \glsxtrlong{FP} language designed by a committe as a concept language}
+ description={a pure lazy \glsxtrlong{FP} language designed by a committe as a concept language}
}
\newglossaryentry{HASKELL98}{%
name=Haskell98,
- description={- a standardised version of \gls{HASKELL}},
+ description={a standardised version of \gls{HASKELL}},
}
\newglossaryentry{ARDUINO}{%
name=Arduino,
- description={- a widely used framework for programming microcontrollers}
+ description={a widely used framework for programming microcontrollers}
}
\newglossaryentry{MBED}{%
name=mbed,
- description={- a widely used framework for programming microcontrollers designed for ARM cortex-M}
+ description={a widely used framework for programming microcontrollers designed for ARM cortex-M}
}
\newglossaryentry{CPP}{
name=C\texttt{++},
- description={- a general-purpose imperative programming language based on \gls{C}}
+ description={a general-purpose imperative programming language based on \gls{C}}
}
\newglossaryentry{C}{
name=C,
- description={- a general-purpose imperative programming}
-}
-\newglossaryentry{I2C}{
- name=I\textsuperscript{2}C,
- description={(Inter-Integrated Circuit) {-} a simple serial communication protocol often used to connect sensors to microcontrollers}
+ description={a general-purpose imperative programming}
}
\newglossaryentry{WIFI}{
name=Wi-Fi,
- description={- is a family of wireless network protocols commonly used for local area networking}
-}
-\newglossaryentry{SPI}{
- name=SPI,
- description={(Serial Peripheral Interface) {-} a synchronous serial communication protocol often used to connect sensors to microcontrollers}
+ description={is a family of wireless network protocols commonly used for local area networking}
}
\newglossaryentry{TINYML}{
name=TinyML,
- description={- a deep learning framework for microcontrollers}
+ description={a deep learning framework for microcontrollers}
}
\newglossaryentry{PYTHON}{
name=Python,
- description={- a multi-paradigm interpreted programming language}
+ description={a multi-paradigm interpreted programming language}
}
\newglossaryentry{MICROPYTHON}{
name=MicroPython,
- description={- a \gls{PYTHON} implementation tailored for microcontrollers}
+ description={a \gls{PYTHON} implementation tailored for microcontrollers}
}
\newglossaryentry{FREERTOS}{
name=FreeRTOS,
- description={- an open-source \glsxtrshort{RTOS} for microcontrollers}
+ description={an open-source \glsxtrshort{RTOS} for microcontrollers}
}
\newglossaryentry{ONEWIRE}{
name=1-wire,
- description={- a simple single wire communication protocol often used to connect sensors to microcontrollers}
-}
-\newglossaryentry{JSON}{
- name=JSON,
- description={(JavaScript Object Notation) {-} a open data interchange format using human readable text}
-}
-\newglossaryentry{MQTT}{
- name=MQTT,
- description={(MQ Telemetry Transport) {-} a publish-subscribe network protocol designed for resource constrained devices}
+ description={a simple single wire communication protocol often used to connect sensors to microcontrollers}
}
\newglossaryentry{WEMOS}{
name=WEMOS,
- description={- a popular ESP8266 microcontroller based prototyping platform supporting \gls{ARDUINO}.}
+ description={a popular ESP8266 microcontroller based prototyping platform supporting \gls{ARDUINO}.}
}