mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-05 19:34:12 +00:00
132 lines
4.7 KiB
Plaintext
132 lines
4.7 KiB
Plaintext
=======================
|
|
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 <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.
|
|
|
|
* `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.
|
|
|
|
* `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.
|
|
|
|
* `math <math.html>`_
|
|
Mathematical operations like cosine, square root.
|
|
|
|
* `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.
|
|
|
|
* `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.
|
|
|
|
* `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.
|
|
|
|
* `hashes <hashes.html>`_
|
|
This module implements efficient computations of hash values for diverse
|
|
Nimrod types.
|
|
|
|
* `lexbase <lexbase.html>`_
|
|
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 <regexprs.html>`_
|
|
This module contains procedures and operators for handling regular
|
|
expressions.
|
|
|
|
* `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.
|
|
|
|
|
|
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 <posix.html>`_
|
|
Contains a wrapper for the POSIX standard.
|
|
* `windows <windows.html>`_
|
|
Contains a wrapper for the Win32 API.
|
|
* `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.
|