|
3 | 3 | ## I. Language and Runtime Enhancements
|
4 | 4 |
|
5 | 5 | 1. **Customizable Syntax:** Allow users to define their own syntax for MVM assembly language, enabling domain-specific
|
6 |
| - languages or personalized coding styles. |
| 6 | + languages or personalised coding styles. |
7 | 7 | 2. **Built-in Data Structures:** Implement built-in support for more complex data structures like hash maps, trees, and
|
8 | 8 | graphs, accessible through standard library functions or new instructions.
|
9 | 9 | 3. **Type Inference:** Add type inference to your higher-level language (if you create one), reducing the need for
|
10 | 10 | explicit type declarations.
|
11 |
| -4. **Automatic Memory Management:** Explore garbage collection algorithms (mark-and-sweep, reference counting) to |
| 11 | +4. **Automatic Memory Management:** Explore garbage collection algorithms (mark-and-sweep, reference counting) to |
12 | 12 | automate memory management and prevent memory leaks.
|
13 |
| -5. **Reflection API:** Allow programs running in the VM to inspect and manipulate their own structure and behavior ( |
| 13 | +5. **Reflection API:** Allow programs running on the VM to inspect and manipulate their own structure and behaviour ( |
14 | 14 | e.g., access register values, inspect the call stack).
|
15 | 15 | 6. **Dynamic Linking:** Enable dynamic linking of libraries or modules, allowing programs to load and use external code
|
16 | 16 | at runtime.
|
|
40 | 40 |
|
41 | 41 | ## IV. Debugging and Development Tools
|
42 | 42 |
|
43 |
| -17. **Time-Travel Debugging:** Implement a debugger that allows stepping backward through program execution to analyze |
44 |
| - program behavior. |
| 43 | +17. **Time-Travel Debugging:** Implement a debugger that allows stepping backward through program execution to analyse |
| 44 | + program behaviour. |
45 | 45 | 18. **Code Coverage Analysis:** Add tools to measure code coverage during testing.
|
46 | 46 | 19. **Performance Profiler:** Develop tools to profile CPU usage, memory access patterns, and other performance metrics.
|
47 | 47 | 20. **Bytecode Disassembler:** Create a tool to disassemble MVM bytecode back into assembly language for easier
|
|
63 | 63 | execution environment (interesting for simulations or genetic algorithms).
|
64 | 64 | 27. **MVM as a Service:** Create a web service that allows users to upload and run MVM programs remotely.
|
65 | 65 |
|
66 |
| -This document details planned enhancements for the MVM. This is a high-level view, and the prioritization and specifics |
| 66 | +This document details planned enhancements for the MVM. This is a high-level view, and the prioritisation and specifics |
67 | 67 | are subject to change.
|
68 | 68 |
|
0 commit comments