- sds :: ((v t Upd)->In t (Main (v c s))) -> (Main (v c s)) | ...
-\end{lstlisting}
-
-In the \emph{Arduino} ecosystem, shields are available to plug into the
-microcontroller and add functionality. These shields range from Bluetooth,
-WiFi, Ethernet, LoRa, LCD screens and much more. Often the functionality
-available in these shields is housed in a \gls{C++} class. This functionality
-is ported using little work to \gls{mTask} by just creating a corresponding
-class with the same functions. As an example, Listing~\ref{lst:lcd} shows parts
-of the \gls{LCD} class as an \gls{mTask} class functions and as
-Listing~\ref{lst:lcdc} shown the corresponding \emph{Arduino} class functions.
-
-\begin{lstlisting}[label={lst:lcd},%
- caption={Adding the \gls{LCD} to the \gls{mTask} language}]
-:: LCD = ...
-
-class lcd v where
- begin :: (v LCD Expr) (v Int p) (v Int q) -> v () Expr
- ...
- scrollLeft :: (v LCD Expr) -> v () Expr
- scrollRight :: (v LCD Expr) -> v () Expr
- ...
-\end{lstlisting}