- " Q is no longer supported, see Pure instead.
Please note that Q has been superseded by the Pure programming language, so please head over to the new website and download the latest version of the Q successor today! "
Q (which stands for 'equational') is a functional programming language based on the term rewriting calculus. You specify a system of equations which the interpreter uses as rewrite rules to reduce expressions to normal form. Q lets you formulate programs in a high-level, declarative style. It is useful for scientific programming and other advanced applications, and also as a sophisticated kind of desktop calculator. Features include advanced symbolic expression manipulation, a fast bytecode interpreter, a collection of built-in types, support for lazy evaluation, exception handling, and multithreading, a libtool-based C interface, a standard library with various list processing functions, and add-on modules for interfacing with other programs.
DocumentationUser manual available in HTML format from http://q-lang.sourceforge.net/qdoc/qdoc.html; User manual available in PDF format from http://q-lang.sourceforge.net/qdoc.pdf; User FAQ available in HTML format from http://q-lang.sourceforge.net/FAQ.html;
released on 7 March 2008
|License||Verified by||Verified on||Notes|
|GPLv2orlater||Janet Casey||3 July 2002|
Leaders and contributors
Resources and communication
|Support||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/q-lang-users|
|Developer||VCS Repository Webview||http://sourceforge.net/cvs/?group_id=96881|
|Developer||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/q-lang-devel|
|Weak prerequisite||GNU Octave (Octave module)|
|Weak prerequisite||IBM Open Data Explorer (DX module)|
|Weak prerequisite||Tcl/Tk (Tk module)|
|Weak prerequisite||Emacs (Q mode)|
|Required to use||GNU multiprecision library (GMP) 3.0 or later|
|Required to build||GNU multiprecision library (GMP) 3.0 or later|
This entry (in part or in whole) was last reviewed on 23 January 2017.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.