diff options
Diffstat (limited to 'doc/lib.txt')
-rwxr-xr-x | doc/lib.txt | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/doc/lib.txt b/doc/lib.txt deleted file mode 100755 index c15303b99..000000000 --- a/doc/lib.txt +++ /dev/null @@ -1,314 +0,0 @@ -======================= -Nimrod Standard Library -======================= - -:Author: Andreas Rumpf -:Version: |nimrodversion| - -.. - - The good thing about reinventing the wheel is that you can get a round one. - -Though the Nimrod Standard Library is still evolving, it is already quite -usable. It is divided into *pure libraries*, *impure libraries* and *wrappers*. - -Pure libraries do not depend on any external ``*.dll`` or ``lib*.so`` binary -while impure libraries do. A wrapper is an impure library that is a very -low-level interface to a C library. - -Read this `document <apis.html>`_ for a quick overview of the API design. - - -Pure libraries -============== - -Core ----- - -* `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. - -* `macros <macros.html>`_ - Contains the AST API and documentation of Nimrod for writing macros. - - -String handling ---------------- - -* `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. - -* `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. - -* `unicode <unicode.html>`_ - This module provides support to handle the Unicode UTF-8 encoding. - -* `regexprs <regexprs.html>`_ - This module contains procedures and operators for handling regular - expressions. Consider using `pegs` instead. - -* `pegs <pegs.html>`_ - This module contains procedures and operators for handling PEGs. - - -Generic Operating System Services ---------------------------------- - -* `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. - -* `osproc <osproc.html>`_ - Module for process communication beyond ``os.execShellCmd``. - -* `times <times.html>`_ - The ``times`` module contains basic support for working with time. - -* `dynlib <dynlib.html>`_ - This module implements the ability to access symbols from shared libraries. - -* `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. - -* `terminal <terminal.html>`_ - This module contains a few procedures to control the *terminal* - (also called *console*). The implementation simply uses ANSI escape - sequences and does not depend on any other module. - - -Math libraries --------------- - -* `math <math.html>`_ - Mathematical operations like cosine, square root. - -* `complex <complex.html>`_ - This module implements complex numbers and their mathematical operations. - - - -Internet Protocols and Support ------------------------------- - -* `cgi <cgi.html>`_ - This module implements helpers for CGI applictions. - - -Parsers -------- - -* `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. - -* `parsexml <parsexml.html>`_ - The ``parsexml`` module implements a simple high performance XML/HTML parser. - The only encoding that is supported is UTF-8. The parser has been designed - to be somewhat error correcting, so that even some "wild HTML" found on the - web can be parsed with it. - -* `parsecsv <parsecsv.html>`_ - The ``parsecsv`` module implements a simple high performance CSV parser. - -* `parsesql <parsesql.html>`_ - The ``parsesql`` module implements a simple high performance SQL parser. - -* `lexbase <lexbase.html>`_ - This is a low level module that implements an extremely efficient buffering - scheme for lexers and parsers. This is used by the diverse parsing modules. - - -Code generation ---------------- - -* `xmlgen <xmlgen.html>`_ - This module implements macros for XML/HTML code generation. - - -Cryptography and Hashing ------------------------- - -* `hashes <hashes.html>`_ - This module implements efficient computations of hash values for diverse - Nimrod types. - -* `md5 <md5.html>`_ - This module implements the MD5 checksum algorithm. - - - -Impure libraries -================ - -* `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. - -* `web <web.html>`_ - This module contains simple high-level procedures for dealing with the - web like loading the contents of a web page from an URL. - - -Wrappers -======== - -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. -* `mysql <mysql.html>`_ - Contains a wrapper for the mySQL API. -* `sqlite3 <sqlite3.html>`_ - Contains a wrapper for SQLite 3 API. -* `libcurl <libcurl.html>`_ - Contains a wrapper for the libcurl library. -* `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. -* `tcl <tcl.html>`_ - Wrapper for the TCL programming language. -* `python <python.html>`_ - Wrapper for the Python programming language. -* `odbcsql <odbcsql.html>`_ - interface to the ODBC driver. -* `zlib <zlib.html>`_ - 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. |