Skip to content

Overview

Workspace

The MnL workspace is divided into Menu, Toolbox and Top-level block, and Playground.

workspace workspace

Fig. 1: Workspace

File: start a new workspace, save and download blocks on the Playground, or upload and load blocks into the Playground.

Theme: change the workspace theme to dark or light mode.

Basic Example: load basic examples such as the identity and recursive functions, etc.

Advanced Example: load an advanced example such as the filter, fold, or fmap function.

Program Visualization and Transpiler: show/ hide window of the function value, beta reduction, or transpiler.

Usage: go to the user guide website.

Toolbox and Top-level block

Toolbox icon: clickable icon to show or hide toolbox.

Search: search block by name.

Top-level block: used as the parent block for the program construction..

Playground

Trash: hold all deleted blocks.

Zoom in/out: Zoom in/ out of the play area.

Rest: reset the play area position.

Play Area: holds all blocks.

Toolbox

Toolbox groups the blocks based on the language grammar. To show the block in the category, click the category. There are seven categories on the top; the other seven below are part of the expression. The user can also search the block from the search box located at the bottom of the toolbox.

workspace workspace

Fig. 2: Toolbox

Block Anatomy

workspace

Fig. 3: Horizontal input/output block

workspace

Fig. 4: Vertical input/output + horizontal input block

Gear Icon: show the add/remove input block toolbox.

Exclamation Mark Icon: Debugger, shows the error message.

Question Mark Icon: The Info shows the block information: block category, type, and value.

Suggestion Box Color: shows the colors of blocks that can be connected.

The Input Notch: shows the shape of the required output notch to attach to the block.

The Output Notch: used as a hook to another block.

Add/Remove Input

The number of input blocks on some blocks can be adjusted dynamically using the add/remove toolbox or add/remove icon.

workspace workspace

Fig. 5: Add/remove input toolbox

workspace

Fig. 6: Add/remove input using icon

Block Info

The Info shows block information such as block category based on the grammar, value type (term type), and value.

workspace workspace

Fig. 7: The Info

The Shape and Color

The shape of the input/output notch of the block represents the non-terminal of the grammar. The block color represents the term type, such as blue for function, yellow for number, etc..

Debugger

The debugger shows the requirement to make a complete block (1) or the term-type error.

  1. 🙋‍♂️ A complete block is a block with all requirements fulfilled, ex.: Fig.7 The Info.

workspace workspace

Fig. 8: Debugger