Q is a powerful and extensible functional programming language based on the term rewriting calculus. When programming with Q, you specify a system of equations which the interpreter uses as rewrite rules to reduce expressions to normal form. Q is useful for scientific programming and other advanced applications, and also as a sophisticated kind of desktop calculator. The distribution includes the Q programming tools, a standard library, add-on modules for interfacing to various third-party libraries, and an Emacs mode.

Operating Systems

Recent releases

  •  24 Oct 2004 19:27

    Release Notes: This release adds SWIG support. This is an important milestone, as it makes interfacing with existing C and C++ libraries much easier. A version of SWIG that has been patched to add support for Q is available.

    •  03 Oct 2004 14:54

      Release Notes: This release has some bugfixes in the GGI module and examples. The Windows package now comes with the latest GGI from CVS, including Peter Ekberg's much improved DirectX driver.

      •  14 Sep 2004 13:33

        Release Notes: This release adds a libxml2/libxslt interface, a new profiling command in the interpreter, and a few bugfixes and updates for third-party software.

        •  15 Apr 2004 20:35

          Release Notes: This is a minor update with some bugfixes and a new built-in function composition operator.

          •  29 Feb 2004 08:21

            Release Notes: This is a minor update with some bugfixes, optimizations, and two new looping constructs (dowhile, for) in the standard library.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.