diff --git a/doc/lib.rst b/doc/lib.rst index 1f19f9bf42cdc..082c3c0bd1767 100644 --- a/doc/lib.rst +++ b/doc/lib.rst @@ -67,6 +67,8 @@ Core * `lenientops `_ Provides binary operators for mixed integer/float expressions for convenience. +* `bitops `_ + Provides a series of low level methods for bit manipulation. Collections and algorithms @@ -74,26 +76,38 @@ Collections and algorithms * `algorithm `_ Implements some common generic algorithms like sort or binary search. + * `tables `_ Nim hash table support. Contains tables, ordered tables and count tables. + * `sets `_ Nim hash and bit set support. + * `lists `_ Nim linked list support. Contains singly and doubly linked lists and circular lists ("rings"). + * `deques `_ Implementation of a double-ended queue. The underlying implementation uses a ``seq``. + +* `heapqueue `_ + This module implements Heap queue (a.k.a. priority queue) algorithm. + * `intsets `_ Efficient implementation of a set of ints as a sparse bit set. + * `critbits `_ 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 `_ This module implements operations for the built-in seq type which were inspired by functional programming languages. + * `sharedtables `_ Nim shared hash table support. Contains shared tables. + * `sharedlist `_ Nim shared linked list support. Contains shared singly linked list. @@ -129,6 +143,13 @@ String handling * `unicode `_ This module provides support to handle the Unicode UTF-8 encoding. +* `unidecode `_ + It provides a single proc that does Unicode to ASCII transliterations. + Based on Python's Unidecode module. + +* `punycode `_ + Implements a representation of Unicode with the limited ASCII character subset. + * `encodings `_ Converts between different character encodings. On UNIX, this uses the ``iconv`` library, on Windows the Windows API. @@ -194,10 +215,16 @@ Generic Operating System Services ``asyncdispatch``. * `distros `_ - 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 `_ + This module contains code for generating volatile loads and stores, + which are useful in embedded and systems programming. + Math libraries -------------- @@ -276,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 ------- @@ -402,6 +430,7 @@ Miscellaneous * `segfaults `_ Turns access violations or segfaults into a ``NilAccessError`` exception. + Modules for JS backend ---------------------- @@ -430,7 +459,6 @@ Regular expressions expressions. The current implementation uses PCRE. - Database support ---------------- @@ -447,13 +475,13 @@ Database support for other databases too. - 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 ---------------- @@ -509,5 +537,5 @@ Nimble is a package manager for the Nim programming language. For instructions on how to install Nimble packages see `its README `_. -To see a list of Nimble's packages, check out `https://nimble.directory/ `_ +To see a list of Nimble's packages, check out ``_ or the `packages repo `_ on GitHub.