summaryrefslogtreecommitdiff
path: root/paper/intro.tex
diff options
context:
space:
mode:
authorCamil Staps2016-06-07 20:59:05 +0200
committerCamil Staps2016-06-07 20:59:05 +0200
commit6d10eae47eae0af8469dd9a84a7d1df2688cae31 (patch)
treee9c7feb03bc72047fc1ee5e74d6ac7f3d4aed241 /paper/intro.tex
parentMakefile paper (diff)
Processing feedback
Diffstat (limited to 'paper/intro.tex')
-rw-r--r--paper/intro.tex27
1 files changed, 14 insertions, 13 deletions
diff --git a/paper/intro.tex b/paper/intro.tex
index 8d76100..191918f 100644
--- a/paper/intro.tex
+++ b/paper/intro.tex
@@ -1,13 +1,13 @@
\section{Introduction}
\label{sec:intro}
-Compilers and interpreters are among the most complex pieces of software
-written to date. Due to the rapid technological development of the last
-decades, programming languages have become increasingly complex, semantically
-speaking. It has become impossible for a programmer to keep in mind the impact
-of their changes on the generated machine code. Developers now constantly rely
-on assumptions about how the language they are using actually works. Intuitive
-semantics may change over time, however, and proper definitions are required
-now that our world relies so principally on software.
+Compilers and interpreters are very complex pieces of software. Due to the
+rapid technological development of the last decades, programming languages have
+become increasingly complex, semantically speaking. It has become impossible
+for a programmer to keep in mind the impact of their changes on the generated
+machine code. Developers now constantly rely on assumptions about how the
+language they are using actually works. Intuitive semantics may change over
+time, however, and proper definitions are required now that our world relies so
+principally on software.
Nowadays, programming languages have semantical specifications as the main link
between programmers and compiler designers. This solves the problem on the
@@ -22,14 +22,15 @@ to efficiently work with semantical specifications --- indeed, functional
programs can be used as the very specification themselves~\citep{fpasspec}.
However, we will not go this far. While functional programs are indeed better
suitable for semantic specifications than natural language, mathematical
-notation gives even more freedom. We therefore suggest tools for the
-implementation of these mathematical definitions in a functional style.
+notation gives even more freedom~\citep[as demonstrated by e.g.][]{proganal}.
+We therefore suggest tools for the implementation of these mathematical
+definitions in a functional style.
Using a high level of abstraction, the gap between specification and
implementation is closed, allowing for quicker correctness checks and better
-maintainable code. The connections between functional languages and
-mathematics let us \emph{prove} properties about code processing systems (for
-example, their correctness with respect to a specification).
+maintainable code. The connections between functional languages and mathematics
+allow us to \emph{prove} properties about code processing systems (for example,
+their correctness with respect to the specification).
\input{intro-org}
\input{intro-while}