I reviewed this and added a comment about the only significant issue, which I think just boils down to trying to keep the coroutining back and forth as simple as possible.
Another thought: Is the scala coroutines library supported in 2.11 and 2.12 (and 2.13 for being future-safe?) ________________________________ From: Steve Lawrence <slawre...@apache.org> Sent: Wednesday, April 22, 2020 1:06 PM To: dev@daffodil.apache.org <dev@daffodil.apache.org> Subject: Daffodil SAX API Proposal I've added a proposal to add a SAX API support to Daffodil. https://cwiki.apache.org/confluence/display/DAFFODIL/Proposal%3A+SAX+API Many libraries and applications already support SAX, so this should provide a means for more seamless integration into different toolsuites, opening up the places where Daffodil could be easily integrated. SAX is also generally viewed as having a lower memory overhead, though this does not attempt to solve the memory issues related to Daffodil and the internal infoset representation. This essentially just adds a SAX compatible API around our existing API. Other changes are needed to reduce our memory overhead and truly support a streaming model. - Steve