-
Notifications
You must be signed in to change notification settings - Fork 1
Awesome Future Features
This is a place to put awesome future features that madz could provide/allow. They are somewhat split into categories.
Eventually Madz will be a live service which launches and manages tasks, manages module system states, etc. this will allow for integration into IDE's and specialized tools, as needed.
Ontological support for determining information about modules, types, and other classes.
This feature will allow for annotation of stack traces with module boundaries, and merge multiple languages call stacks.
These represent ways modules communicate with each other. They can allow for better performance and cross module optimizations. They are automatic, and should not effect implementation details.
The planner will automatically build IMP domains, generate the wrapping, compiling, deploying, and other objects which will manage the modules within the IMP domain transparently.
This allows modules to be compiled into the same object, a library, static or dynamic, to create less required objects.
Link Time Optimization enabled LLVM code objects can be compiled across module boundaries for efficient speeds. This will rely on a lot of the same technologies as the IMP/LIB, but just add LLVM features.
A tool to manage external libraries. Would be able to download a plugin, containing arbitrary code, to deploy a library. Helper modules could provide common tasks, downloading from source forge, build cmake, etc. Often a library can be deployed in two forms, the runtime and the development kit. Plugins should also provide the ability to configure existing installations, and on systems with package managers, this should be automatic.
A shared system for managing exceptions between runtimes. Borrowing from lisp's restarts.