1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Q is a powerful and extensible functional programming language based on the
term rewriting calculus. You specify an arbitrary 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, the standard library, add-on modules for interfacing to GNU
dbm, ODBC, GNU Octave, GGI, ImageMagick, Tcl/Tk and IBM's Data Explorer, and
an Emacs mode.
Q's main features:
- advanced symbolic expression manipulation, using equations supplied by the
programmer
- fast bytecode interpreter, which executes Q scripts almost as fast as
interpreted Lisp or Haskell
- built-in support for arbitrary precision integers, double precision floating
point numbers, strings, lists, tuples, curried function applications, lazy
evaluation, exception handling, and user-defined object-oriented data types
with single inheritance
- simple but powerful module system which lets you manage large scripts with
ease, and a libtool-based interface to external C modules which allows such
modules to be loaded at runtime
- comprehensive standard library written mostly in Q itself, which includes
powerful list processing functions, a collection of useful container data
structures, an implementation of the lambda calculus, an interface to the
PostScript language, and a system interface featuring binary and C-style
formatted I/O, file system and process manipulation utilities, POSIX
threads, BSD sockets, regular expression matching, ...
WWW: http://q-lang.sourceforge.net/
- Albert Graef
ag@muwiinfa.geschichte.uni-mainz.de
|