\section{General Characteristic of the Language}

\begin{itemize}
\item procedural with first-class functions~--- functions can be passed as arguments, placed in data structures,
  returned and constructed at runtime via closures mechanism;
\item with lexical static scoping;
\item strict~--- all arguments of function application are evaluated before function's body;
\item imperative~--- variables can be re-assigned, function calls can have side effects;
\item untyped~--- no static type checking is performed;
\item supports S-expressions and pattern-matching;
\item supports user-defined infix operators, including those defined in local scopes;
\item with automatic memory management (garbage collection).
\end{itemize}
