<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>explain.html</title>
</head>
<body>
<style>
li {
text-transform: lowercase;
}
</style>
<ol>
<li>values and types (types of values, types of variables).
<ul>
<li>literal values of base types.</li>
<li>types (base and others).</li>
<li>base types (numeric, textual, others).</li>
<li>other types, beyond base.</li>
<li>compound types (lists, mappings, objects) and accessing ( read , write ).</li>
<li>values as literals, again (json literal as a compound literal).</li>
</ul>
</li>
<li>operators and expressions.
<ul>
<li>expressions as composition of operators.</li>
<li>arithmetic operators.</li>
<li>boolean logical operators.</li>
<li>quantitative comparison operators.</li>
<li>other operators.</li>
</ul>
</li>
<li>variables
<ul>
<li>variable declaration (name and type , scope , modifiers).</li>
<li>assign operation (value to be assigned to a variable).</li>
<li>initialization (first value assigned, initial value).</li>
<li>variables with one single fixed type or not (type chosen in a variable declaration or not).</li>
<li>constants variables (assigned once).</li>
</ul>
</li>
<li>instructions of control flow also with blocks of instructions and memory operations.
<ul>
<li>[memory.] "assignment" instruction (instruction and operator).</li>
<li>[memory.] pure functions (no side effects on memory).</li>
<li>[memory.] "function call" instruction (input and output).</li>
<li>[flow: sequence.] blocks of instructions.</li>
<li>[flow: cycle.] "while" instruction with 1 block of instructions.</li>
<li>[flow: branching.] "if" instruction with 1 or 2 blocks of instructions.</li>
</ul>
</li>
<li>functions (declaration and call).
<ul>
<li>functions as values (that can be assigned to variables etc).</li>
<li>function call (input and output of values).</li>
<li>function declaration syntax (name or not, arguments or not, block of instructions).</li>
<li>arguments (generic input values for functions) and parameters (actual values passed to functions).</li>
<li>"return" instruction.</li>
<li>variadic functions: quantity of arguments is variable.</li>
</ul>
</li>
</ol>
</body>
</html>