diff options
author | Camil Staps | 2016-06-07 20:59:05 +0200 |
---|---|---|
committer | Camil Staps | 2016-06-07 20:59:05 +0200 |
commit | 6d10eae47eae0af8469dd9a84a7d1df2688cae31 (patch) | |
tree | e9c7feb03bc72047fc1ee5e74d6ac7f3d4aed241 /paper/intro.tex | |
parent | Makefile paper (diff) |
Processing feedback
Diffstat (limited to 'paper/intro.tex')
-rw-r--r-- | paper/intro.tex | 27 |
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} |