.
[phd-thesis.git] / thesis.tex
1 \documentclass[twoside,10pt]{book}
2
3 \def\mytitle{Orchestrating the Internet of Things\texorpdfstring{\\}{ }with Task-Oriented Programming}
4 \def\mysubtitle{a purely functional rhapsody}
5 \def\myauthor{Mart Lubbers}
6 \def\mydate{\formatdate{31}{12}{2022}}
7
8 \input{preamble}
9
10 % To show hboxes even when in non-draft mode
11 \overfullrule=1pt
12
13 % Just for the todonotes, can go when it's finished
14 \usepackage{todonotes}
15 \setuptodonotes{
16 backgroundcolor=white,
17 linecolor=black,
18 size=tiny,
19 }
20
21 % Document info
22 \title{\mytitle{} --- \mysubtitle{}}
23 \author{Mart Lubbers}
24
25 \date{\mydate}
26
27 \begin{document}
28 \selectlanguage{british}
29
30 \frontmatter%
31 \frontmatterfancy%
32
33 %Titlepage
34 \hypertarget{titlepage}{}
35 \bookmark[level=section,dest=titlepage]{Titlepage}
36 \subfile{front/titlepage}
37 \newpage%
38
39 % Epigraph/motto
40 \hypertarget{motto}{}
41 \bookmark[level=section,dest=motto]{Motto}
42 \subfile{front/motto}
43
44 % Table of contents
45 \setcounter{tocdepth}{1}
46 \hypertarget{contents}{}
47 \bookmark[level=section,dest=contents]{Contents}
48 \tableofcontents
49 \newpage%
50
51 % Dedication
52 \hypertarget{dedication}{}
53 \bookmark[level=section,dest=dedication]{Dedication}
54 \subfile{front/dedication}
55
56 % Reset glossary and thus the acronyms
57 \glsresetall{}
58
59 % The actual document
60 \mainmatter%
61 \mainmatterfancy%
62 \setcounter{chapter}{-1}
63
64 % Introduction
65 \subfile{intro/intro}
66 % DSL
67
68 \part[\'Etude --- Domain-Specific Languages]{\'Etude\\[2ex]\smaller{}Domain-Specific Languages}%
69 \label{prt:dsl}
70 \subfile{dsl/class} % Deep embedding with class
71 \subfile{dsl/first} % First-class data types
72
73 \part[Oratorio --- Task-Oriented Programming]{Oratorio\\[2ex]\smaller{}Task-Oriented Programming for the Internet of Things}%
74 \label{prt:top}
75 %\chapter{\texorpdfstring{\Glsxtrshort{TOP} for the \glsxtrshort{IOT}}{TOP for the IoT}}%
76 \subfile{top/4iot}
77
78 %\chapter{The \texorpdfstring{\gls{MTASK}}{mTask} \texorpdfstring{\glsxtrshort{DSL}}{DSL}}%
79 \subfile{top/lang}
80
81 %\chapter{Integration with \texorpdfstring{\gls{ITASK}}{iTask}}%
82 \subfile{top/int}
83
84 %\chapter{Implementation}%
85 \subfile{top/imp}
86
87 % Green computing
88 \subfile{top/green}
89
90 \part[Variations --- Tiered vs.\ Tierless Programming]{Transformation\\[2ex]\smaller{}Tiered vs.\ Tierless Programming}%
91 \label{prt:tvt}
92 \subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
93
94 \bookmarksetup{startatroot} % descend back out of the previous part
95 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
96 \subfile{concl/conclusion}
97
98 % Start appendix
99 \appendix%
100 \label{chp:appendix}
101 \addcontentsline{toc}{part}{Appendix}
102
103 \subfile{appx/clean_for_haskell_programmers}
104 \subfile{appx/mtask_aux}
105 \subfile{appx/bytecode}
106
107 \backmatter%
108 \backmatterfancy%
109 \bookmarksetup{startatroot} % descend back out of the appendix
110
111 % Bibliography
112 \phantomsection{}%
113 \label{chp:bibliography}
114 \addcontentsline{toc}{chapter}{Bibliography}
115 \bibliography{other,self,tiot}
116
117 % Summary
118 \subfile{back/summary}
119
120 % Samenvatting
121 \subfile{back/samenvatting}
122
123 % Acknowledgements
124 \subfile{back/acknowledgements}
125
126 % Research data management
127 \subfile{back/research_data_management}
128
129 % Curriculum vitæ
130 \subfile{back/curriculum_vitae}
131
132 % Glossary
133 \printglossary[style=mcolindex]%
134 \printglossary[type=\acronymtype,style=mcolindex]%
135
136 %% Lists of
137 %\cleardoublepage{}
138 %\phantomsection{}%
139 %\label{chp:listsof...}
140 %\addcontentsline{toc}{chapter}{Lists of \ldots}
141 %\begingroup
142 %\let\clearpage\relax
143 %\let\cleardoublepage\relax
144 %\listoffigures%
145 %\listoftables%
146 %\listofalgorithms%
147 %\lstlistoflistings%
148 %\endgroup
149
150 % Index
151 %\addcontentsline{toc}{chapter}{Index}%
152 %\label{chp:index}
153 %\printindex
154
155 \end{document}