lhmouse/asteria

Implement single-step hooks in `Abstract_Hooks`

lhmouse opened this issue · 1 comments

This idea originates because at the moment it is possible to write for(;;); in the REPL to make it stuck in that loop, as we don't want Ctrl-C to terminate the program. A solution to this problem is to have a hook that is called before every statement to check whether an interrupt has happened, and if it is the case, throw an exception to break the loop. This feature will also be helpful when we add debugger support in the future.

Fixed in 24e586e.