summary refs log tree commit diff stats
path: root/doc/lib.txt
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2008-11-16 22:08:15 +0100
committerAndreas Rumpf <rumpf_a@web.de>2008-11-16 22:08:15 +0100
commit8b2a9401a147bd0b26cd2976ae71a1022fbde8cc (patch)
treec1a1323003ee8148af5dc60bcf1b88157dd00eb8 /doc/lib.txt
parent972c51086152bd45aef4eb17c099fa3472a19d04 (diff)
downloadNim-8b2a9401a147bd0b26cd2976ae71a1022fbde8cc.tar.gz
version 0.7.0
Diffstat (limited to 'doc/lib.txt')
-rw-r--r--doc/lib.txt347
1 files changed, 216 insertions, 131 deletions
diff --git a/doc/lib.txt b/doc/lib.txt
index 2fef5934d..ccd97aa6e 100644
--- a/doc/lib.txt
+++ b/doc/lib.txt
@@ -1,131 +1,216 @@
-=======================

-Nimrod Standard Library

-=======================

-

-:Author: Andreas Rumpf

-:Version: |nimrodversion|

-

-Though the Nimrod Standard Library is still evolving, it is already quite

-usable. It is divided into basic libraries that contains modules that virtually

-every program will need and advanced libraries which are more heavy weight.

-Advanced libraries are in the ``lib/base`` directory.

-

-Basic libraries

-===============

-

-* `system <system.html>`_

-  Basic procs and operators that every program needs. It also provides IO

-  facilities for reading and writing text and binary files. It is imported

-  implicitly by the compiler. Do not import it directly. It relies on compiler

-  magic to work.

-

-* `strutils <strutils.html>`_

-  This module contains common string handling operations like converting a

-  string into uppercase, splitting a string into substrings, searching for

-  substrings, replacing substrings.

-

-* `os <os.html>`_

-  Basic operating system facilities like retrieving environment variables,

-  reading command line arguments, working with directories, running shell

-  commands, etc. This module is -- like any other basic library --

-  platform independant.

-

-* `math <math.html>`_

-  Mathematical operations like cosine, square root.

-

-* `complex <complex.html>`_

-  This module implements complex numbers and their mathematical operations.

-

-* `times <times.html>`_

-  The ``times`` module contains basic support for working with time.

-

-* `parseopt <parseopt.html>`_

-  The ``parseopt`` module implements a command line option parser. This 

-  supports long and short command options with optional values and command line

-  arguments.

-

-* `parsecfg <parsecfg.html>`_

-  The ``parsecfg`` module implements a high performance configuration file 

-  parser. The configuration file's syntax is similar to the Windows ``.ini`` 

-  format, but much more powerful, as it is not a line based parser. String 

-  literals, raw string literals and triple quote string literals are supported 

-  as in the Nimrod programming language.

-

-* `strtabs <strtabs.html>`_

-  The ``strtabs`` module implements an efficient hash table that is a mapping

-  from strings to strings. Supports a case-sensitive, case-insensitive and

-  style-insensitive mode. An efficient string substitution operator  ``%``

-  for the string table is also provided.

-

-* `hashes <hashes.html>`_

-  This module implements efficient computations of hash values for diverse

-  Nimrod types.

-

-* `lexbase <lexbase.html>`_

-  This is a low leve module that implements an extremely efficent buffering

-  scheme for lexers and parsers. This is used by the ``parsecfg`` module.

-

-

-Advanced libaries

-=================

-

-* `regexprs <regexprs.html>`_

-  This module contains procedures and operators for handling regular

-  expressions.

-

-* `dialogs <dialogs.html>`_

-  This module implements portable dialogs for Nimrod; the implementation 

-  builds on the GTK interface. On Windows, native dialogs are shown if

-  appropriate.

-  

-

-Wrappers

-========

-

-Note that the generated HTML for some of these wrappers is so huge, that it is

-not contained in the distribution. You can then find them on the website.

-

-* `posix <posix.html>`_

-  Contains a wrapper for the POSIX standard.

-* `windows <windows.html>`_

-  Contains a wrapper for the Win32 API.

-* `shellapi <shellapi.html>`_

-  Contains a wrapper for the ``shellapi.h`` header.

-* `shfolder <shfolder.html>`_

-  Contains a wrapper for the ``shfolder.h`` header.

-* `mmsystem <mmsystem.html>`_

-  Contains a wrapper for the ``mmsystem.h`` header.

-* `ole2 <ole2.html>`_

-  Contains GUIDs for OLE2 automation support.

-* `nb30 <nb30.html>`_

-  This module contains the definitions for portable NetBIOS 3.0 support. 

-* `cairo <cairo.html>`_

-  Wrapper for the cairo library.

-* `cairoft <cairoft.html>`_

-  Wrapper for the cairoft library.

-* `cairowin32 <cairowin32.html>`_

-  Wrapper for the cairowin32 library.

-* `cairoxlib <cairoxlib.html>`_

-  Wrapper for the cairoxlib library.

-* `atk <atk.html>`_

-  Wrapper for the atk library.

-* `gdk2 <gdk2.html>`_

-  Wrapper for the gdk2 library.

-* `gdk2pixbuf <gdk2pixbuf.html>`_

-  Wrapper for the gdk2pixbuf library.

-* `gdkglext <gdkglext.html>`_

-  Wrapper for the gdkglext library.

-* `glib2 <glib2.html>`_

-  Wrapper for the glib2 library.

-* `gtk2 <gtk2.html>`_

-  Wrapper for the gtk2 library.

-* `gtkglext <gtkglext.html>`_

-  Wrapper for the gtkglext library.

-* `gtkhtml <gtkhtml.html>`_

-  Wrapper for the gtkhtml library.

-* `libglade2 <libglade2.html>`_

-  Wrapper for the libglade2 library.

-* `pango <pango.html>`_

-  Wrapper for the pango library.

-* `pangoutils <pangoutils.html>`_

-  Wrapper for the pangoutils library.

+=======================
+Nimrod Standard Library
+=======================
+
+:Author: Andreas Rumpf
+:Version: |nimrodversion|
+
+Though the Nimrod Standard Library is still evolving, it is already quite
+usable. It is divided into basic libraries that contains modules that virtually
+every program will need and advanced libraries which are more heavy weight.
+Advanced libraries are in the ``lib/base`` directory.
+
+Basic libraries
+===============
+
+* `system <system.html>`_
+  Basic procs and operators that every program needs. It also provides IO
+  facilities for reading and writing text and binary files. It is imported
+  implicitly by the compiler. Do not import it directly. It relies on compiler
+  magic to work.
+
+* `strutils <strutils.html>`_
+  This module contains common string handling operations like converting a
+  string into uppercase, splitting a string into substrings, searching for
+  substrings, replacing substrings.
+
+* `os <os.html>`_
+  Basic operating system facilities like retrieving environment variables,
+  reading command line arguments, working with directories, running shell
+  commands, etc. This module is -- like any other basic library --
+  platform independant.
+
+* `math <math.html>`_
+  Mathematical operations like cosine, square root.
+
+* `complex <complex.html>`_
+  This module implements complex numbers and their mathematical operations.
+
+* `times <times.html>`_
+  The ``times`` module contains basic support for working with time.
+
+* `parseopt <parseopt.html>`_
+  The ``parseopt`` module implements a command line option parser. This
+  supports long and short command options with optional values and command line
+  arguments.
+
+* `parsecfg <parsecfg.html>`_
+  The ``parsecfg`` module implements a high performance configuration file
+  parser. The configuration file's syntax is similar to the Windows ``.ini``
+  format, but much more powerful, as it is not a line based parser. String
+  literals, raw string literals and triple quote string literals are supported
+  as in the Nimrod programming language.
+
+* `strtabs <strtabs.html>`_
+  The ``strtabs`` module implements an efficient hash table that is a mapping
+  from strings to strings. Supports a case-sensitive, case-insensitive and
+  style-insensitive mode. An efficient string substitution operator  ``%``
+  for the string table is also provided.
+
+* `streams <streams.html>`_
+  This module provides a stream interface and two implementations thereof:
+  the `PFileStream` and the `PStringStream` which implement the stream
+  interface for Nimrod file objects (`TFile`) and strings. Other modules
+  may provide other implementations for this standard stream interface.
+
+* `hashes <hashes.html>`_
+  This module implements efficient computations of hash values for diverse
+  Nimrod types.
+
+* `lexbase <lexbase.html>`_
+  This is a low level module that implements an extremely efficent buffering
+  scheme for lexers and parsers. This is used by the ``parsecfg`` module.
+
+
+Advanced libaries
+=================
+
+* `regexprs <regexprs.html>`_
+  This module contains procedures and operators for handling regular
+  expressions.
+
+* `dialogs <dialogs.html>`_
+  This module implements portable dialogs for Nimrod; the implementation
+  builds on the GTK interface. On Windows, native dialogs are shown if
+  appropriate.
+
+* `zipfiles <zipfiles.html>`_
+  This module implements a zip archive creator/reader/modifier.
+
+Wrappers
+========
+
+Note that the generated HTML for some of these wrappers is so huge, that it is
+not contained in the distribution. You can then find them on the website.
+
+* `posix <posix.html>`_
+  Contains a wrapper for the POSIX standard.
+* `windows <windows.html>`_
+  Contains a wrapper for the Win32 API.
+* `shellapi <shellapi.html>`_
+  Contains a wrapper for the ``shellapi.h`` header.
+* `shfolder <shfolder.html>`_
+  Contains a wrapper for the ``shfolder.h`` header.
+* `mmsystem <mmsystem.html>`_
+  Contains a wrapper for the ``mmsystem.h`` header.
+* `ole2 <ole2.html>`_
+  Contains GUIDs for OLE2 automation support.
+* `nb30 <nb30.html>`_
+  This module contains the definitions for portable NetBIOS 3.0 support.
+* `cairo <cairo.html>`_
+  Wrapper for the cairo library.
+* `cairoft <cairoft.html>`_
+  Wrapper for the cairoft library.
+* `cairowin32 <cairowin32.html>`_
+  Wrapper for the cairowin32 library.
+* `cairoxlib <cairoxlib.html>`_
+  Wrapper for the cairoxlib library.
+* `atk <atk.html>`_
+  Wrapper for the atk library.
+* `gdk2 <gdk2.html>`_
+  Wrapper for the gdk2 library.
+* `gdk2pixbuf <gdk2pixbuf.html>`_
+  Wrapper for the gdk2pixbuf library.
+* `gdkglext <gdkglext.html>`_
+  Wrapper for the gdkglext library.
+* `glib2 <glib2.html>`_
+  Wrapper for the glib2 library.
+* `gtk2 <gtk2.html>`_
+  Wrapper for the gtk2 library.
+* `gtkglext <gtkglext.html>`_
+  Wrapper for the gtkglext library.
+* `gtkhtml <gtkhtml.html>`_
+  Wrapper for the gtkhtml library.
+* `libglade2 <libglade2.html>`_
+  Wrapper for the libglade2 library.
+* `pango <pango.html>`_
+  Wrapper for the pango library.
+* `pangoutils <pangoutils.html>`_
+  Wrapper for the pangoutils library.
+* `gl <gl.html>`_
+  Part of the wrapper for OpenGL.
+* `glext <glext.html>`_
+  Part of the wrapper for OpenGL.
+* `glu <glu.html>`_
+  Part of the wrapper for OpenGL.
+* `glut <glut.html>`_
+  Part of the wrapper for OpenGL.
+* `glx <glx.html>`_
+  Part of the wrapper for OpenGL.
+* `wingl <wingl.html>`_
+  Part of the wrapper for OpenGL.
+* `lua <lua.html>`_
+  Part of the wrapper for Lua.
+* `lualib <lualib.html>`_
+  Part of the wrapper for Lua.
+* `lauxlib <lauxlib.html>`_
+  Part of the wrapper for Lua.
+* `odbcsql <odbcsql.nim>`_
+  interface to the ODBC driver. 
+* `zlib <zlib.nim>`_
+  Wrapper for the zlib library. 
+* `sdl <sdl.html>`_
+  Part of the wrapper for SDL.
+* `sdl_gfx <sdl_gfx.html>`_
+  Part of the wrapper for SDL.
+* `sdl_image <sdl_image.html>`_
+  Part of the wrapper for SDL.
+* `sdl_mixer <sdl_mixer.html>`_
+  Part of the wrapper for SDL.
+* `sdl_net <sdl_net.html>`_
+  Part of the wrapper for SDL.
+* `sdl_ttf <sdl_ttf.html>`_
+  Part of the wrapper for SDL.
+* `smpeg <smpeg.html>`_
+  Part of the wrapper for SDL.
+* `cursorfont <cursorfont.html>`_
+  Part of the wrapper for X11.
+* `keysym <keysym.html>`_
+  Part of the wrapper for X11.
+* `x <x.html>`_
+  Part of the wrapper for X11.
+* `xatom <xatom.html>`_
+  Part of the wrapper for X11.
+* `xcms <xcms.html>`_
+  Part of the wrapper for X11.
+* `xf86dga <xf86dga.html>`_
+  Part of the wrapper for X11.
+* `xf86vmode <xf86vmode.html>`_
+  Part of the wrapper for X11.
+* `xi <xi.html>`_
+  Part of the wrapper for X11.
+* `xinerama <xinerama.html>`_
+  Part of the wrapper for X11.
+* `xkb <xkb.html>`_
+  Part of the wrapper for X11.
+* `xkblib <xkblib.html>`_
+  Part of the wrapper for X11.
+* `xlib <xlib.html>`_
+  Part of the wrapper for X11.
+* `xrandr <xrandr.html>`_
+  Part of the wrapper for X11.
+* `xrender <xrender.html>`_
+  Part of the wrapper for X11.
+* `xresource <xresource.html>`_
+  Part of the wrapper for X11.
+* `xshm <xshm.html>`_
+  Part of the wrapper for X11.
+* `xutil <xutil.html>`_
+  Part of the wrapper for X11.
+* `xv <xv.html>`_
+  Part of the wrapper for X11.
+* `xvlib <xvlib.html>`_
+  Part of the wrapper for X11.
+* `libzip <libzip.html>`_
+  Interface to the `lib zip <http://www.nih.at/libzip/index.html>`_ library by
+  Dieter Baron and Thomas Klausner.