Currently WIO relies on Ctx type parameter to encapsulate some fixed types, like Event or State. Alternative design might use path-dependent types.
I briefly experimented with this at the very early stage of the project but it wasnt possible then due to to the constraints of the compiler. This might change with modularity improvement.
What I'm mostly concern about, without giving it a real try, is how to properly expose those type on the use site. Inside the WIO and evaluators, those types can be abstract but inside the runtime needs to know it - E.g. it has to have and use a codec for a specific event type. Similarly in WorkflowInstance.getState, the caller wants a specific state type that they can deal with
Currently
WIOrelies onCtxtype parameter to encapsulate some fixed types, likeEventorState. Alternative design might use path-dependent types.I briefly experimented with this at the very early stage of the project but it wasnt possible then due to to the constraints of the compiler. This might change with modularity improvement.
What I'm mostly concern about, without giving it a real try, is how to properly expose those type on the use site. Inside the WIO and evaluators, those types can be abstract but inside the runtime needs to know it - E.g. it has to have and use a codec for a specific event type. Similarly in
WorkflowInstance.getState, the caller wants a specific state type that they can deal with