CONTENTS
News About Examples Documentation Lists
Core Add-Ons Download Links
|
Core Modules
These modules are distributed with the core package. They provide Q's
basic system, database, GUI, graphics, scientific and web programming
interfaces.
Module: |
Clib |
Synopsis: |
import system;
|
Description: |
Clib is Q's POSIX system interface. Note that as of Q 7.8, this interface
is actually divided into two modules, clib which contains the
basic functions including the C-style formatted I/O routines, threads,
references, filename globbing, regular expression routines and more
efficient replacements for some important standard library functions,
and system which provides the rest of the POSIX interface,
like lowlevel I/O, process management, BSD sockets and internationalization
functions. The clib module is part of the standard prelude and
thus imported automatically, while system must be imported
explicitly.
|
Requires: |
These modules should work on all supported platforms. However, many system
functions require a more or less POSIX-compatible system environment to
work as advertized. Note that no attempt is made to emulate more advanced
functionality on systems which do not directly support it, like, e.g.,
fork or exec on Windows.
|
Module: |
Curl |
Synopsis: |
import curl;
|
Description: |
This module provides a uniform way to transfer files with URL syntax
using a variety of different Internet protocols.
|
Requires: |
Libcurl (http://curl.haxx.se).
|
Module: |
DXL |
Synopsis: |
import dxl;
|
Description: |
This module provides an interface to Open Data Explorer (DX), IBM's
comprehensive data visualization software. It utilizes the DXLink API
which allows you to connect to the DX executive and user interface, and
execute commands, macros and visual programs written in the DX scripting
language.
|
Requires: |
OpenDX (http://www.opendx.org).
OpenDX in turn requires an X11/Motif environment, thus this module is not
supported on Windows right now (at least there is no straightforward way
to make it work).
|
Module: |
Gdbm |
Synopsis: |
import gdbm;
|
Description: |
GNU dbm provides some simple database functions, suitable for storing
indexed data in a file. The interface provided by this module is a
straightforward wrapper for (most of) the C functions provided by the
library; see gdbm(3) for more information.
|
Requires: |
Libgdbm (http://www.gnu.org).
|
Module: |
GGI |
Synopsis: |
import ggi;
|
Description: |
This module provides an interface to GGI, the General Graphics Interface.
GGI is a graphics library which aims to provide a reliable, stable and
fast graphics system that works everywhere. Only the basic operations of
GGI are supported at this time; future releases will probably add the more
advanced features and extensions when these parts of GGI become
stable. But the module is already quite usable for doing raster graphics
on a wide variety of systems and output devices. Experimental support for
simple alpha blending as well as advanced text rendering via FreeType2 is
also available.
|
Requires: |
Libggi (version 2.0 or later) and libgii (version 0.8 or later), available
from http://www.ggi-project.org.
(Note that all GGI 2.2 releases up to 2.2.2 have a bug breaking the
-inwin option of the X11 target, which is needed to embed GGI
windows inside GUI applications. A patch fixing this can be found
here.)
For the additional font support you also need version 2 of the FreeType
library (http://www.freetype.org).
|
Module: |
Magick |
Synopsis: |
import magick;
|
Description: |
This module provides an interface to the ImageMagick C API (libMagick), a
comprehensive library for image manipulation. With this module, you can
create, load, save and manipulate images stored in a plethora of different
file formats. Operations to retrieve and modify the pixel data of an image
are also provided. Since the external pixel representation is compatible
with that of the GGI module, you can easily exchange pixel data between
images and GGI visuals as well.
|
Requires: |
ImageMagick
(http://www.imagemagick.org).
|
Module: |
Octave |
Synopsis: |
import octave;
|
Description: |
Octave is a comprehensive MATLAB-like software for performing advanced
numeric computations. This module provides an interface to the Octave
interpreter, which enables you to execute Octave commands and exchange
variable values between Q and Octave.
|
Requires: |
Octave (http://www.octave.org).
|
Module: |
ODBC |
Synopsis: |
import odbc;
|
Description: |
This module provides the necessary operations to connect to an ODBC data
source and retrieve or modify data using SQL statements. ODBC
(Open Database Connectivity) is the industry standard for portable
and vendor independent database access. Besides Microsoft's original
version for Windows, several implementations exist for different platforms,
including two open source implementations for Unix-like systems,
iODBC and
unixODBC. Most modern
relational databases provide an ODBC interface so that they can be used
with this module. This includes the popular open source DBMSs MySQL
(http://www.mysql.com) and PostgreSQL
(http://www.postgresql.org).
|
Requires: |
To make this module work, you must have an ODBC installation on your
system, as well as the driver backend for the DBMS you want to use (and,
of course, the DBMS itself). You also have to configure the DBMS as a data
source for the ODBC system. On Windows this is done with the ODBC applet
in the system control panel. For iODBC and unixODBC you can either edit
the corresponding configuration files (/etc/odbc.ini and/or
~/.odbc.ini ) by hand, or use one of the available graphical
setup tools. More information about the setup process can be found on the
iODBC and unixODBC websites.
|
Module: |
SWIG |
Synopsis: |
import swig;
|
Description: |
This module implements the necessary runtime support for SWIG-generated Q
modules. SWIG is the "Simplified Wrapper and Interface Generator" which
makes it easy to interface to existing C/C++ code from various target
languages. More information about SWIG can be found at http://www.swig.org.
|
Requires: |
To use SWIG with Q you'll also need a SWIG version which has been patched
up to add support for the Q language. Until the Q language module for SWIG
becomes part of the official SWIG distribution, a suitable SWIG package
can be found on the Download page.
|
Module: |
Tk |
Synopsis: |
import tk;
|
Description: |
This module provides a basic interface to Tcl/Tk, John Ousterhout's
cross-platform command language and GUI toolkit. The operations of this
module allow you to execute arbitrary commands in the Tcl/Tk interpreter,
set and retrieve variable values in the interpreter, and send back
messages from Tcl/Tk to Q. You can use this module to create functional
(if not fancy) GUIs which work on a variety of different platforms
including Unix/X11, Mac OS X and Windows. A bridge to GNOME/GTK is also
available, see the description of the "GQBuilder" package on the "Add-Ons"
page.
|
Requires: |
A recent version of Tcl/Tk is required (8.0 or later should do). You can
get this from http://www.tcl.tk. Both
releases in source form and binary releases for Windows and various Unix
systems are provided there.
|
Module: |
XML |
Synopsis: |
import xml;
|
Description: |
This module is Q's XML/XSLT interface, based on the libxml2/libxslt
libraries from the GNOME project. It provides an XML parser and XSLT
transformation engine, as well as the ability to inspect and modify XML
document trees in memory.
XML is the Extensible Markup
Language, facilitating exchange of complex structured data between
different applications and systems.
XSLT allows you to
transform XML documents to other XML-based formats such as HTML.
Together XML and XSLT let you create dynamic web content with ease.
Both XML and XSLT are open standards by the W3C consortium
(http://www.w3.org).
|
Requires: |
Libxml2 and libxslt, both available from
http://xmlsoft.org.
|
|