diff options
Diffstat (limited to 'doc/lib.rst')
-rw-r--r-- | doc/lib.rst | 62 |
1 files changed, 37 insertions, 25 deletions
diff --git a/doc/lib.rst b/doc/lib.rst index 89e3cca40..d00591e10 100644 --- a/doc/lib.rst +++ b/doc/lib.rst @@ -67,6 +67,8 @@ Core * `lenientops <lenientops.html>`_ Provides binary operators for mixed integer/float expressions for convenience. +* `bitops <bitops.html>`_ + Provides a series of low level methods for bit manipulation. Collections and algorithms @@ -74,26 +76,38 @@ Collections and algorithms * `algorithm <algorithm.html>`_ Implements some common generic algorithms like sort or binary search. + * `tables <tables.html>`_ Nim hash table support. Contains tables, ordered tables and count tables. + * `sets <sets.html>`_ Nim hash and bit set support. + * `lists <lists.html>`_ Nim linked list support. Contains singly and doubly linked lists and circular lists ("rings"). + * `deques <deques.html>`_ Implementation of a double-ended queue. The underlying implementation uses a ``seq``. + +* `heapqueue <heapqueue.html>`_ + Implementation of a heap data structure that can be used as a priority queue. + * `intsets <intsets.html>`_ Efficient implementation of a set of ints as a sparse bit set. + * `critbits <critbits.html>`_ This module implements a *crit bit tree* which is an efficient container for a sorted set of strings, or for a sorted mapping of strings. + * `sequtils <sequtils.html>`_ This module implements operations for the built-in seq type which were inspired by functional programming languages. + * `sharedtables <sharedtables.html>`_ Nim shared hash table support. Contains shared tables. + * `sharedlist <sharedlist.html>`_ Nim shared linked list support. Contains shared singly linked list. @@ -107,8 +121,8 @@ String handling substrings, replacing substrings. * `strformat <strformat.html>`_ - Macro based standard string interpolation / formatting. Inpired by - Python's ```f``-strings. + Macro based standard string interpolation / formatting. Inspired by + Python's ``f``-strings. * `strmisc <strmisc.html>`_ This module contains uncommon string handling operations that do not @@ -129,6 +143,13 @@ String handling * `unicode <unicode.html>`_ This module provides support to handle the Unicode UTF-8 encoding. +* `unidecode <unidecode.html>`_ + It provides a single proc that does Unicode to ASCII transliterations. + Based on Python's Unidecode module. + +* `punycode <punycode.html>`_ + Implements a representation of Unicode with the limited ASCII character subset. + * `encodings <encodings.html>`_ Converts between different character encodings. On UNIX, this uses the ``iconv`` library, on Windows the Windows API. @@ -141,12 +162,6 @@ String handling Ropes can represent very long strings efficiently; especially concatenation is done in O(1) instead of O(n). -* `matchers <matchers.html>`_ - This module contains various string matchers for email addresses, etc. - -* `subexes <subexes.html>`_ - This module implements advanced string substitution operations. - * `std/editdistance <editdistance.html>`_ This module contains an algorithm to compute the edit distance between two Unicode strings. @@ -200,10 +215,16 @@ Generic Operating System Services ``asyncdispatch``. * `distros <distros.html>`_ - This module implements the basics for OS distribution ("distro") detection and the OS's native package manager. - Its primary purpose is to produce output for Nimble packages, but it also contains the widely used **Distribution** enum + This module implements the basics for OS distribution ("distro") detection + and the OS's native package manager. + Its primary purpose is to produce output for Nimble packages, + but it also contains the widely used **Distribution** enum that is useful for writing platform specific code. +* `volatile <volatile.html>`_ + This module contains code for generating volatile loads and stores, + which are useful in embedded and systems programming. + Math libraries -------------- @@ -236,9 +257,6 @@ Internet Protocols and Support * `cgi <cgi.html>`_ This module implements helpers for CGI applications. -* `scgi <scgi.html>`_ - This module implements helpers for SCGI applications. - * `browsers <browsers.html>`_ This module implements procs for opening URLs with the user's default browser. @@ -275,8 +293,8 @@ Internet Protocols and Support module. * `net <net.html>`_ - This module implements a high-level sockets API. It will replace the - ``sockets`` module in the future. + This module implements a high-level sockets API. It replaces the + ``sockets`` module. * `nativesockets <nativesockets.html>`_ This module implements a low-level sockets API. @@ -285,6 +303,7 @@ Internet Protocols and Support This module implements a selector API with backends specific to each OS. Currently epoll on Linux and select on other operating systems. + Parsers ------- @@ -411,6 +430,7 @@ Miscellaneous * `segfaults <segfaults.html>`_ Turns access violations or segfaults into a ``NilAccessError`` exception. + Modules for JS backend ---------------------- @@ -439,7 +459,6 @@ Regular expressions expressions. The current implementation uses PCRE. - Database support ---------------- @@ -456,20 +475,13 @@ Database support for other databases too. -Other ------ - -* `ssl <ssl.html>`_ - This module provides an easy to use sockets-style - Nim 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 ---------------- @@ -525,5 +537,5 @@ Nimble is a package manager for the Nim programming language. For instructions on how to install Nimble packages see `its README <https://github.com/nim-lang/nimble#readme>`_. -To see a list of Nimble's packages, check out `https://nimble.directory/ <https://nimble.directory/>`_ +To see a list of Nimble's packages, check out `<https://nimble.directory/>`_ or the `packages repo <https://github.com/nim-lang/packages>`_ on GitHub. |