cadence-client
cadence-client copied to clipboard
Evaluate YAEGI for Go client implementation
YAEGI is a new Go interpreter. It sounds like a good fit for hosting workflows. In theory it might provide the following:
- Ability to host Go workflows by the Cadence service without requiring external workflow workers. It is achieved by ability to jail each execution in a separate interpreter instance.
- Ability to execute Go code deterministically. It would allow writing workflows using native Go constructs avoiding ugly deterministic wrappers
- We might be able to add ability to implement Go interfaces dynamically. This would allow to support strongly typed activity and child workflow interfaces the same way Java client does without any code generation.