-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdissertation.lhs
159 lines (104 loc) · 3.97 KB
/
dissertation.lhs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
\documentclass[
author={Riley Evans},
supervisor={Dr. Meng Wang},
degree={MEng},
title={\vbox{CircuitFlow: A Domain Specific Language for Dataflow Programming}},
subtitle={},
type={research},
year={2021}
]{dissertation}
\usepackage{todonotes}
\setlength{\marginparwidth}{2cm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{amsmath}
\usepackage{tikz-cd}
\usepackage{latexsym}
\usepackage{acronym}
\usepackage{listings}
\usepackage{amssymb}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{lmodern}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.markings}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{groupplots}
\usepgfplotslibrary{dateplot}
\usepackage{subfiles} % load last
\setcounter{tocdepth}{2}
% lhs2tex setup
%include format.fmt
%options ghci -pgmL lhs2tex -optL--pre
\begin{document}
\long\def\ignore#1{}
\ignore{
\begin{code}
{-# ANN module "HLint: ignore" #-}
\end{code}
}
\maketitle
% =============================================================================
\frontmatter
% -----------------------------------------------------------------
\makedecl{}
% -----------------------------------------------------------------------------
\chapter*{Acknowledgements}
I would like to thank the following people for their help and support:
\begin{itemize}
\item Jamie Willis for giving me pointers on Haskell techniques to look at, and convincing me to keep going even when I thought it wasn't possible.
\item My flatmates Chris \& Jack for their support.
\item My supervisor Meng, who noticed the value of indexed functors and encouraged me complete a project based on them.
\item Finally, Sam who has provided tips and ideas that have been invaluable throughout this project, as well as taking the time to proof-read this work.
\end{itemize}
% -----------------------------------------------------------------
\tableofcontents
% -----------------------------------------------------------------
\listoffigures
% -----------------------------------------------------------------------------
\subfileinclude{chapters/abstract}
% -----------------------------------------------------------------
%% \subfileinclude{chapters/technologies}
% -----------------------------------------------------------------------------
\chapter*{Acronyms}
Throughout this thesis, several acronyms will be used:
\begin{acronym}
\acro{DSL}{Domain Specific Language}
\acro{e-DSL}{Embedded DSL}
\acro{FIFO}{First-In First-Out}
\acro{KPN}{Kahn Process Network}
\acro{GPL}{General Purpose Language}
\acro{DPN}{Data Process Network}
\acro{DAG}{Directed Acyclic Graph}
\acro{AST}{Abstract Syntax Tree}
\acro{PID}{Process Identifier}
\acro{WHNF}{Weak Head Normal Form}
\end{acronym}
% =============================================================================
\mainmatter{}
\subfileinclude{chapters/introduction}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/background}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/the-language}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/implementation}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/examples}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/benchmarks}
% -----------------------------------------------------------------------------
\subfileinclude{chapters/conclusion}
% =============================================================================
\backmatter{}
% -----------------------------------------------------------------------------
\bibliography{dissertation}
% =============================================================================
\end{document}
% ----- Configure Emacs -----
%
% Local Variables: ***
% mode: latex ***
% mmm-classes: literate-haskell-latex ***
% End: ***