\section{Introduction}

This paper presents {\MathQL} version 4 which is the latest version of the
language, fully developed by Ferruccio Guidi.  
For a description of the previous versions of {\MathQL} see: \cite{Gui03}
(version 3), \cite{GS03} (version 2), \cite{Lor02} (version 1).
The main novelties of this version are the elimination of some cast operators
(producing a substantial simplification in the query structure and semantics,
see \secref{Operational}), a clear distinction between the core language and
the auxiliary functions of the basic library, a support for query generating
functions, the possibility of extending the language adding new libraries of
functions and a more uniform textual syntax. 
{\MathQL}.4 incorporates the features of {\MathQL}.3 not documented on paper%
\footnote
{See the ``what's new'' section of {\MathQL} Web Site:
\CURI{helm.cs.unibo.it/mathql}.}
and adds some new features improving {\MathQL} capabilities to post-process
the query results.  

\input{mathql_introduction_avsets}
\input{mathql_introduction_property}
\input{mathql_introduction_core}
\input{mathql_introduction_textual}



