\gls{mTask} and the generated messages followed by the actual bytecode in a
readable form.
-\begin{lstlisting}[caption={Faculty as an \gls{mTask}-\gls{Task}}]
+\begin{lstlisting}[caption={Factorial as an \gls{mTask}-\gls{Task}}]
factorial :: Int -> Main (ByteCode () Stmt)
factorial i = sds \y=i In
namedsds \x=1 Named "result" In
)}
//Generating the actual messages with:
-//toMessages (OnInterval 500) (factorial 5) zero
+Start = fst $ toMessages (OnInterval 500) (factorial 5) zero
+
+//The output will be
//[MTSds 2 (BCValue 5), MTSds 1 (BCValue 1), MTTask (OnInterval 500) ...]
\end{lstlisting}
\begin{lstlisting}[label={lst:actualbc},%
- caption={The resulting bytecode for the factorial function},language=c]
+ caption={The resulting bytecode for the factorial function},language=C]
0-2 : BCSdsFetch 1
- 3-6 : BCPush i\d0\d1
+ 3-6 : BCPush (Int 1)
7 : BCLeq
8-9 : BCJmpF 16 //Jump to else
10-12: BCSdsPublish 2 ("result")
22 : BCMul
23-25: BCSdsStore 2 ("result")
26-28: BCSdsFetch 1
-29-32: BCPush i\d0\d1
+29-32: BCPush (Int 1)
33 : BCSub
34-36: BCSdsStore 1
37 : //Endif label