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