summary refs log tree commit diff stats
path: root/doc/lib.txt
diff options
context:
space:
mode:
authorAndreas Rumpf <andreasrumpf@noname>2009-09-23 23:38:00 +0200
committerAndreas Rumpf <andreasrumpf@noname>2009-09-23 23:38:00 +0200
commit3f3dda5a77fa8faf6d97aa5a0ed3b0fc6e8c0918 (patch)
tree81fcf664ab2abfda200061e57fa488ae17b03192 /doc/lib.txt
parent66a7e3d37c0303997a6b1a3b7ec263dfb8c07748 (diff)
downloadNim-3f3dda5a77fa8faf6d97aa5a0ed3b0fc6e8c0918.tar.gz
implemented multi methods
Diffstat (limited to 'doc/lib.txt')
-rwxr-xr-xdoc/lib.txt116
1 files changed, 80 insertions, 36 deletions
diff --git a/doc/lib.txt b/doc/lib.txt
index 6850ab515..c15303b99 100755
--- a/doc/lib.txt
+++ b/doc/lib.txt
@@ -5,6 +5,10 @@ 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*.
 
@@ -12,10 +16,15 @@ 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
@@ -25,11 +34,35 @@ Pure libraries
 * `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
@@ -37,7 +70,28 @@ Pure libraries
   platform independant.
 
 * `osproc <osproc.html>`_
-  Module for process communication beyond ``os.executeShellCommand``.
+  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.
@@ -45,11 +99,17 @@ Pure libraries
 * `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.
 
-* `dynlib <dynlib.html>`_
-  This module implements the ability to access symbols from shared libraries.
+
+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
@@ -71,48 +131,32 @@ Pure libraries
 
 * `parsecsv <parsecsv.html>`_ 
   The ``parsecsv`` module implements a simple high performance CSV parser.
-
-* `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.
+  
+* `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 ``parsecfg`` module.
+  scheme for lexers and parsers. This is used by the diverse parsing modules.
 
-* `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.
 
-* `cgi <cgi.html>`_
-  This module implements helper procs for CGI applictions. 
+Code generation
+---------------
 
-* `unicode <unicode.html>`_ 
-  This module provides support to handle the Unicode UTF-8 encoding.
+* `xmlgen <xmlgen.html>`_
+  This module implements macros for XML/HTML code generation.
 
-* `regexprs <regexprs.html>`_
-  This module contains procedures and operators for handling regular
-  expressions.
+
+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.
 
-* `xmlgen <xmlgen.html>`_
-  This module implements macros for HTML code generation.
-
 
 
 Impure libraries