|
|
|
|
|
by nijave
1203 days ago
|
|
>can step through the code backward and rewind the program state to any point in history This seems impossible for anything that modifies external state. Say
1. Open database connection
2. Commit data
3. Close database connection How would you rewind right before #2 if you've already completed step #3? You'd need the socket/connection you already closed Unless that means something more like "keep a running record of program state over time" |
|
Here's an example: http://docs.mech-lang.org/#/examples/bouncing-balls.mec
If you want these kinds of features in other systems, they'll have to be architected to support them. For example, the external database will have to be rewound as well. If it doesn't support that feature, then cool language-level debugging features won't be as useful.