The way SMOP is designed allows a feature called Polymorphic Eval. This feature basically means that different interpreter executions can be part of the same run loop, by using Continuation Passing Style. The challenge here is how to send information from one continuation to the other, considering that the only thing known about each continuation is the API.