Module vs. Namespace #6
Labels
enhancement
New feature or request
help wanted
Extra attention is needed
question
Further information is requested
Currently, the Python project defines modules based on the core sub-projects (arch, common, compiler, symex) which requires specific module imports (or wildcard) to obtain classes. (i.e.
from vtil.arch import basic_block
)This does not follow the core project where "imports" are usually inside the main namespace (VTIL). For example,
basic_block
is accessible from the main namespace (vtil::basic_block
) unlike the python project which puts the class insidevtil::arch::basic_block
virtually.This is arguably good for organizing the massive projects into submodules, but can result in a confusing import perspective. Take the following for example:
tagged_order
is actuallyvtil::enumerator::tagged_order
which is contained inside the common project and requires to be explicitly imported, instead of being inside the global vtil namespace.The following is considered:
And the submodules would be replaced with explicitly nested namespaces inside the vtil namespace. (i.e. debugger, symbolic)
The text was updated successfully, but these errors were encountered: