From 8b2a9401a147bd0b26cd2976ae71a1022fbde8cc Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sun, 16 Nov 2008 22:08:15 +0100 Subject: version 0.7.0 --- doc/lib.txt | 347 +++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 216 insertions(+), 131 deletions(-) (limited to 'doc/lib.txt') 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 `_ - 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 `_ - This module contains common string handling operations like converting a - string into uppercase, splitting a string into substrings, searching for - substrings, replacing substrings. - -* `os `_ - 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 `_ - Mathematical operations like cosine, square root. - -* `complex `_ - This module implements complex numbers and their mathematical operations. - -* `times `_ - The ``times`` module contains basic support for working with time. - -* `parseopt `_ - The ``parseopt`` module implements a command line option parser. This - supports long and short command options with optional values and command line - arguments. - -* `parsecfg `_ - 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 `_ - 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 `_ - This module implements efficient computations of hash values for diverse - Nimrod types. - -* `lexbase `_ - 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 `_ - This module contains procedures and operators for handling regular - expressions. - -* `dialogs `_ - 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 `_ - Contains a wrapper for the POSIX standard. -* `windows `_ - Contains a wrapper for the Win32 API. -* `shellapi `_ - Contains a wrapper for the ``shellapi.h`` header. -* `shfolder `_ - Contains a wrapper for the ``shfolder.h`` header. -* `mmsystem `_ - Contains a wrapper for the ``mmsystem.h`` header. -* `ole2 `_ - Contains GUIDs for OLE2 automation support. -* `nb30 `_ - This module contains the definitions for portable NetBIOS 3.0 support. -* `cairo `_ - Wrapper for the cairo library. -* `cairoft `_ - Wrapper for the cairoft library. -* `cairowin32 `_ - Wrapper for the cairowin32 library. -* `cairoxlib `_ - Wrapper for the cairoxlib library. -* `atk `_ - Wrapper for the atk library. -* `gdk2 `_ - Wrapper for the gdk2 library. -* `gdk2pixbuf `_ - Wrapper for the gdk2pixbuf library. -* `gdkglext `_ - Wrapper for the gdkglext library. -* `glib2 `_ - Wrapper for the glib2 library. -* `gtk2 `_ - Wrapper for the gtk2 library. -* `gtkglext `_ - Wrapper for the gtkglext library. -* `gtkhtml `_ - Wrapper for the gtkhtml library. -* `libglade2 `_ - Wrapper for the libglade2 library. -* `pango `_ - Wrapper for the pango library. -* `pangoutils `_ - 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 `_ + 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 `_ + This module contains common string handling operations like converting a + string into uppercase, splitting a string into substrings, searching for + substrings, replacing substrings. + +* `os `_ + 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 `_ + Mathematical operations like cosine, square root. + +* `complex `_ + This module implements complex numbers and their mathematical operations. + +* `times `_ + The ``times`` module contains basic support for working with time. + +* `parseopt `_ + The ``parseopt`` module implements a command line option parser. This + supports long and short command options with optional values and command line + arguments. + +* `parsecfg `_ + 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 `_ + 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 `_ + 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 `_ + This module implements efficient computations of hash values for diverse + Nimrod types. + +* `lexbase `_ + 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 `_ + This module contains procedures and operators for handling regular + expressions. + +* `dialogs `_ + This module implements portable dialogs for Nimrod; the implementation + builds on the GTK interface. On Windows, native dialogs are shown if + appropriate. + +* `zipfiles `_ + 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 `_ + Contains a wrapper for the POSIX standard. +* `windows `_ + Contains a wrapper for the Win32 API. +* `shellapi `_ + Contains a wrapper for the ``shellapi.h`` header. +* `shfolder `_ + Contains a wrapper for the ``shfolder.h`` header. +* `mmsystem `_ + Contains a wrapper for the ``mmsystem.h`` header. +* `ole2 `_ + Contains GUIDs for OLE2 automation support. +* `nb30 `_ + This module contains the definitions for portable NetBIOS 3.0 support. +* `cairo `_ + Wrapper for the cairo library. +* `cairoft `_ + Wrapper for the cairoft library. +* `cairowin32 `_ + Wrapper for the cairowin32 library. +* `cairoxlib `_ + Wrapper for the cairoxlib library. +* `atk `_ + Wrapper for the atk library. +* `gdk2 `_ + Wrapper for the gdk2 library. +* `gdk2pixbuf `_ + Wrapper for the gdk2pixbuf library. +* `gdkglext `_ + Wrapper for the gdkglext library. +* `glib2 `_ + Wrapper for the glib2 library. +* `gtk2 `_ + Wrapper for the gtk2 library. +* `gtkglext `_ + Wrapper for the gtkglext library. +* `gtkhtml `_ + Wrapper for the gtkhtml library. +* `libglade2 `_ + Wrapper for the libglade2 library. +* `pango `_ + Wrapper for the pango library. +* `pangoutils `_ + Wrapper for the pangoutils library. +* `gl `_ + Part of the wrapper for OpenGL. +* `glext `_ + Part of the wrapper for OpenGL. +* `glu `_ + Part of the wrapper for OpenGL. +* `glut `_ + Part of the wrapper for OpenGL. +* `glx `_ + Part of the wrapper for OpenGL. +* `wingl `_ + Part of the wrapper for OpenGL. +* `lua `_ + Part of the wrapper for Lua. +* `lualib `_ + Part of the wrapper for Lua. +* `lauxlib `_ + Part of the wrapper for Lua. +* `odbcsql `_ + interface to the ODBC driver. +* `zlib `_ + Wrapper for the zlib library. +* `sdl `_ + Part of the wrapper for SDL. +* `sdl_gfx `_ + Part of the wrapper for SDL. +* `sdl_image `_ + Part of the wrapper for SDL. +* `sdl_mixer `_ + Part of the wrapper for SDL. +* `sdl_net `_ + Part of the wrapper for SDL. +* `sdl_ttf `_ + Part of the wrapper for SDL. +* `smpeg `_ + Part of the wrapper for SDL. +* `cursorfont `_ + Part of the wrapper for X11. +* `keysym `_ + Part of the wrapper for X11. +* `x `_ + Part of the wrapper for X11. +* `xatom `_ + Part of the wrapper for X11. +* `xcms `_ + Part of the wrapper for X11. +* `xf86dga `_ + Part of the wrapper for X11. +* `xf86vmode `_ + Part of the wrapper for X11. +* `xi `_ + Part of the wrapper for X11. +* `xinerama `_ + Part of the wrapper for X11. +* `xkb `_ + Part of the wrapper for X11. +* `xkblib `_ + Part of the wrapper for X11. +* `xlib `_ + Part of the wrapper for X11. +* `xrandr `_ + Part of the wrapper for X11. +* `xrender `_ + Part of the wrapper for X11. +* `xresource `_ + Part of the wrapper for X11. +* `xshm `_ + Part of the wrapper for X11. +* `xutil `_ + Part of the wrapper for X11. +* `xv `_ + Part of the wrapper for X11. +* `xvlib `_ + Part of the wrapper for X11. +* `libzip `_ + Interface to the `lib zip `_ library by + Dieter Baron and Thomas Klausner. -- cgit 1.4.1-2-gfad0