Right now there are two big, concurrent refactors:
https://github.com/stan-dev/stan/tree/feature/issue-1361-writer_callback
Substantial refactor of the API into services and interface callbacks,
implementing a writer callback to remove any system I/O dependencies.
and
https://github.com/stan-dev/stan/tree/feature/refactor_io_reader_writer
Refactors var_context, eventually will clean up the
generated model code and completely template out
most of the services.
Already there have been merges that will conflict with these refactors,
but my main concern right now is whether to try to keep these
refactors together or not. Propagating changes to the var_context
implementations will require changing command/services which
would have to be rewritten unless the first branch is merged first.
I see a few possible means of moving forward:
1) Keep these separate branches independent of each other and
just swallow a nasty merge process down the line.
2) Merge the writer_callback after 2.7.
3) Create a Stan3 branch, merge the writer callback into that
and then work the var_context refactor off of this new Stan3
branch.
How should we do this? Either way there’s going to be a few
big merges that we’ll have to muck through given how much code
is getting changed.