diff options
author | Andreas Rumpf <andreasrumpf@noname> | 2009-09-23 23:38:00 +0200 |
---|---|---|
committer | Andreas Rumpf <andreasrumpf@noname> | 2009-09-23 23:38:00 +0200 |
commit | 3f3dda5a77fa8faf6d97aa5a0ed3b0fc6e8c0918 (patch) | |
tree | 81fcf664ab2abfda200061e57fa488ae17b03192 /doc/lib.txt | |
parent | 66a7e3d37c0303997a6b1a3b7ec263dfb8c07748 (diff) | |
download | Nim-3f3dda5a77fa8faf6d97aa5a0ed3b0fc6e8c0918.tar.gz |
implemented multi methods
Diffstat (limited to 'doc/lib.txt')
-rwxr-xr-x | doc/lib.txt | 116 |
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 |