To keep the ball rolling with std lib pruning, here's my proposal (kind of a 
sketch, not to be taken too literally).

* * *

**Level 1 - "Nim Kernel"**: System modules that every Nim compiler supports 
(embedded systems, virtual machines, etc).

algorithm base64 complex critbits deques hashes endians fenv intsets json lists 
(+sharedlist) locks logging macros marshal math nativesockets parseutils pegs 
random rationals ropes segfaults sequtils sets stats streams strformat strscans 
strtabs strutils subexes tables (+sharedtables) threadpool times unittest

* * *

**Level 2 - "Nim Standard"**: Nim Standard library modules for currently 
popular mobile and desktop operating systems.

asyncdispatch asyncfile asynchttpserver asyncnet dynlib encodings httpclient 
md5 memfiles mimetypes net os osproc parsecfg parsecsv parseopt2 posix rdstdin 
selectors ssl terminal unicode uri winlean

* * *

**Level 3 - "Nim Extra"**: Modules available as installable Nimble packages. 
All available out-of-the-box in a Nim Legacy Distro.

asyncftpclient asyncjs basic2d basic3d browsers cgi cookies coro db_sqlite 
db_mysql db_postgres distros dom events fsmonitor future highlite htmlparser 
httpserver iup jsffi lexbase matchers mersenne mysql nre odbcsql oids options 
parseopt parsesql parsexml pcre postgres re rst rstast rstgen scgi sexp sha1 
smtp sqlite3 strmisc xmldom xmldomparser xmlparser xmltree

Reply via email to