diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2008-11-16 22:08:15 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2008-11-16 22:08:15 +0100 |
commit | 8b2a9401a147bd0b26cd2976ae71a1022fbde8cc (patch) | |
tree | c1a1323003ee8148af5dc60bcf1b88157dd00eb8 /doc/lib.txt | |
parent | 972c51086152bd45aef4eb17c099fa3472a19d04 (diff) | |
download | Nim-8b2a9401a147bd0b26cd2976ae71a1022fbde8cc.tar.gz |
version 0.7.0
Diffstat (limited to 'doc/lib.txt')
-rw-r--r-- | doc/lib.txt | 347 |
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. |