Skip to content

The Compiler

MNL has a compiler named YAKI (Yet Another [K/C]Compiler Interface). It transforms block-based programming languages into text-based languages such as SML and Scala. Beyond compiling, YAKI could write a typing derivation of MNL.

Users can access YAKI by right-clicking on the workspace and choosing Compiler to open the transpiler window. The combo box at the bottom allows users to select the target language.

Example: The Identity Function

The Identity Function

🙋‍♂️ The identity function is a function that returns the input value.

transpiler-block

Fig. 1: The identity function

sum-list

identity_function.sml
fun f_identity (a) = a
identity_function.scala
def f_identity [B] (a : B) : B = a