summary refs log tree commit diff stats
path: root/doc/lib.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lib.txt')
-rw-r--r--doc/lib.txt472
1 files changed, 0 insertions, 472 deletions
diff --git a/doc/lib.txt b/doc/lib.txt
deleted file mode 100644
index 47cd08cab..000000000
--- a/doc/lib.txt
+++ /dev/null
@@ -1,472 +0,0 @@
-=======================
-Nimrod Standard Library
-=======================
-
-:Author: Andreas Rumpf
-:Version: |nimrodversion|
-
-.. contents::
-
-  "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.
-
-* `marshal <marshal.html>`_
-  Contains procs for serialization and deseralization of arbitrary Nimrod 
-  data structures.
-  
-
-String handling
----------------
-
-* `strutils <strutils.html>`_
-  This module contains common string handling operations like changing
-  case of a string, splitting a string into substrings, searching for
-  substrings, replacing substrings.
-
-* `parseutils <parseutils.html>`_
-  This module contains helpers for parsing tokens, numbers, identifiers, etc.
-
-* `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.
-
-* `pegs <pegs.html>`_
-  This module contains procedures and operators for handling PEGs.
-
-* `ropes <ropes.html>`_
-  This module contains support for a *rope* data type.
-  Ropes can represent very long strings efficiently; especially concatenation
-  is done in O(1) instead of O(n).
-
-* `unidecode <unidecode.html>`_
-  This module provides Unicode to ASCII transliterations:
-  It finds the sequence of ASCII characters that is the closest approximation
-  to the Unicode string.
-
-
-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.
-
-* `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 applications.
-
-* `scgi <scgi.html>`_
-  This module implements helpers for SCGI applications.
-
-* `sockets <sockets.html>`_
-  This module implements a simple portable type-safe sockets layer.
-
-* `browsers <browsers.html>`_
-  This module implements procs for opening URLs with the user's default
-  browser.
-
-* `httpserver <httpserver.html>`_
-  This module implements a simple HTTP server.
-
-* `httpclient <httpclient.html>`_
-  This module implements a simple HTTP client.
-
-* `smtp <smtp.html>`_
-  This module implement a simple SMTP client. 
-  
-
-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.
-
-* `json <json.html>`_
-  High performance JSON 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.
-
-
-XML Processing
---------------
-
-* `xmldom <xmldom.html>`_
-  This module implements the XML DOM Level 2.
-
-* `xmldomparser <xmldomparser.html>`_
-  This module parses an XML Document into a XML DOM Document representation.
-
-* `xmltree <xmltree.html>`_
-  A simple XML tree. More efficient and simpler than the DOM. It also
-  contains a macro for XML/HTML code generation.
-
-* `xmlparser <xmlparser.html>`_
-  This module parses an XML document and creates its XML tree representation.
-
-* `htmlparser <htmlparser.html>`_
-  This module parses an HTML document and creates its XML tree representation.
-
-
-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.
-
-* `base64 <base64.html>`_
-  This module implements a base64 encoder and decoder.
-
-
-Multimedia support
-------------------
-
-* `colors <colors.html>`_
-  This module implements color handling for Nimrod. It is used by
-  the ``graphics`` module.
-
-
-
-Impure libraries
-================
-
-Regular expressions
--------------------
-
-* `re <re.html>`_
-  This module contains procedures and operators for handling regular
-  expressions. The current implementation uses PCRE.
-
-
-Database support
-----------------
-
-* `db_postgres <db_postgres.html>`_
-  A higher level PostgreSQL database wrapper. The same interface is implemented
-  for other databases too.
-
-* `db_mysql <db_mysql.html>`_
-  A higher level MySQL database wrapper. The same interface is implemented
-  for other databases too.
-
-* `db_sqlite <db_sqlite.html>`_
-  A higher level SQLite database wrapper. The same interface is implemented
-  for other databases too.
-
-
-Other
------
-
-* `graphics <graphics.html>`_
-  This module implements graphical output for Nimrod; the current
-  implementation uses SDL but the interface is meant to support multiple
-  backends some day.
-
-* `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.
-
-* `ssl <ssl.html>`_
-  This module provides an easy to use sockets-style 
-  Nimrod interface to the OpenSSL library.
-
-
-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.
-
-Windows specific
-----------------
-
-* `windows <windows.html>`_
-  Contains a wrapper for the Win32 API.
-* `ole2 <ole2.html>`_
-  Contains GUIDs for OLE2 automation support.
-* `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.
-* `nb30 <nb30.html>`_
-  This module contains the definitions for portable NetBIOS 3.0 support.
-
-
-UNIX specific
--------------
-
-* `posix <posix.html>`_
-  Contains a wrapper for the POSIX standard.
-* `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.
-
-
-Regular expressions
--------------------
-
-* `pcre <pcre.html>`_
-  Wrapper for the PCRE library.
-* `tre <tre.html>`_
-  Wrapper for the TRE library.
-
-
-Graphics libraries
-------------------
-
-* `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.
-
-* `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.
-
-* `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.
-
-
-GUI libraries
--------------
-* `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.
-* `iup <iup.html>`_
-  Wrapper of the IUP GUI library.
-
-
-Database support
-----------------
-
-* `postgres <postgres.html>`_
-  Contains a wrapper for the PostgreSQL API.
-* `mysql <mysql.html>`_
-  Contains a wrapper for the mySQL API.
-* `sqlite3 <sqlite3.html>`_
-  Contains a wrapper for SQLite 3 API.
-* `odbcsql <odbcsql.html>`_
-  interface to the ODBC driver.
-
-
-XML Processing
---------------
-
-* `expat <expat.html>`_
-  Wrapper of the expat XML parser.
-
-
-Internet Protocols and Support
-------------------------------
-
-* `libcurl <libcurl.html>`_
-  Contains a wrapper for the libcurl library.
-
-* `openssl <openssl.html>`_
-  Wrapper for OpenSSL.
-
-
-Scripting languages
--------------------
-
-* `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.
-
-
-Data Compression and Archiving
-------------------------------
-
-* `zlib <zlib.html>`_
-  Wrapper for the zlib library.
-
-* `libzip <libzip.html>`_
-  Interface to the `lib zip <http://www.nih.at/libzip/index.html>`_ library by
-  Dieter Baron and Thomas Klausner.
-