1\chapter*{The Filet-O-Fish Language}
2\label{chap:fof_lang}
3\epigraph{Give me back that Filet-O-Fish, Give me back that Filet-O-Fish, \ldots}%
4         {Frankie the Fish}
5
6
7
8Filet-o-Fish is organized in a modular way. This is reflected by the
9definition of the syntax of the language in
10Chapter~\ref{chap:fof_syntax}. Indeed, the language is organized
11around the purely functional core of C, as described in
12Section~\ref{sec:fof_syntax_core}. This core is extended by several
13\emph{constructs} that are the operationally rich building blocks of
14the language, as described in Section~\ref{sec:fof_syntax_constructs}.
15
16
17The functional semantics of this language is then implemented in
18Chapter~\ref{chap:fof_semantics}. Following the modular definition of
19the language, we first implement an interpreter for the core language
20(Section~\ref{sec:semantics_core}). In
21Section~\ref{sec:semantics_constructs}, we gather the per-construct
22interpreter under one general function. In
23Section~\ref{sec:semantics_machinery}, we build the machinery to
24automatically compute an interpreter and a compiler for the whole
25language.
26
27Further, in Chapter~\ref{chap:fof_operators}, we implement the
28interpreter and Filet-o-Fish interpretation of the
29constructs. Similarly, Chapter~\ref{chap:fof_libc} and
30Chapter~\ref{chap:fof_libbarrelfish}, we define foreign functions
31mirroring the C library and the barrelfish library. These chapters are
32bound to be extended as long as foreign functions are needed. This is
33a natural process made easy by the modular design of the syntax and
34semantics of Filet-o-Fish.
35