\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}