12. Standard Library

Viper provides much the same set of basic modules as python. These include string, re [partially implemented], traceback, marshal, sys, posix, os, errno, pickle, socket [not implemented], excpetion, types, strop. [array, ..]

The implementation is provided in three ways. First, some python modules are executed 'out of the box'. Second, some python modules are replaced by Viper codes, in a file name module.vy. Finally, some modules are considered special and pre-loaded by the interpeter.

Interestingly, exceptions.py is actually pre-loaded by the interpreter 'out of the box'. Similarly, types is pre-loaded out of the box. String is also pre-loaded out of the box, but the shared library module strop is replaced by a Viper file, strop.vy, which hooks builtin functions. Traceback, posix, errno, and a few other modules uses a Viper file. Only two modules are actually builtin at this time: sys and _builtins_. py_types, types, exceptions, are pre-loaded. All other modules are loaded on demand.