\section{Analyzed EDSLs}
\label{sec:analyzed-edsls}
    \frame{\sectionpage}

    \begin{frame}
        \frametitle{Choice criteria}

        \par{When choosing which EDSLs to study, our requirements were:}
        \vspace{0.3cm}
        \begin{itemize}
            \item Hosted on already-known languages
            \item Covered a wide range over the criteria we defined (variety)
            \item Originals instead of variants or improvements
            \item Relatively well-known, frequently cited
        \end{itemize}
    \end{frame}


    \subsection{Chosen EDSLs}
    \label{subsec:chosen-edsls}
        \begin{frame}
            \frametitle{Chosen EDSLs}
            \par{The languages chosen, with the respective host language, were:}
            \vspace{0.3cm}
            \begin{itemize}
                \item Lava (Haskell - \texttt{chalmers-lava} variant)
                \item ForSyDe (Haskell)
                \item Coquet (Coq interactive theorem prover)
            \end{itemize}
        \end{frame}

    \subsection{Evaluation criteria}
    \label{subsec:evaluation-criteria}
        \begin{frame}
            \frametitle{Evaluation criteria}
            \par{As \emph{orthogonal} as possible:}
            \vspace{0.3cm}
            \begin{itemize}
                \item Simulation (validation)
                \item (Formal) verification
                \item Genericity (data, structure)
                \item Depth of embedding
                \item Tool integration
                \item Extensibility
            \end{itemize}
            \vspace{0.2cm}

            \note{
                \begin{itemize}
                    \item Orthogonal means independent
                    \item Relevant to hardware designers
                    \item Functional simulation (inputs/outputs)
                    \item Diff validation/verification:
                        \begin{itemize}
                            \item Did we build the thing right? (validation)
                            \item Did we build the right thing? (verification)
                        \end{itemize}
                    \item Generic or parameterized families of circuits
                        \begin{itemize}
                            \item I/O sizes
                            \item Other: \emph{iterations} in a crypto circuit, etc.
                        \end{itemize}
                    \item Depth of embedding: deep means datatype for circuits, other criteria
                    \item Integration with other hardware tools: synthesis, timing, model checkers
                \end{itemize}
            }
        \end{frame}
