To be more specific, this language does lack a lot of features found in ``real'' functional languages, such as ML3.1. Our language is extremely primitive, actually it looks not entirely unlike traditional machine code assembly language.
In the following, we refer to the basic building blocks of the language, the ``instructions'', as opcodes. This is mainly for convenience (the opcode notion is used a lot in the implementation). The instructions do for the virtual machine, what real opcodes do for a real processor.