> Stan is now going to be split into language, algorithms, services. I forget if we decided to abbreviate or not, but it should look like:
>
> - language: stan-dev/language
>
> - algorithms: stan-dev/algorithms
>
> - services: stan-dev/services
>
> - math: stan-dev/math
>
Completely agree this will be helpful and I like the long names. To avoid drowning in multiple issues per real issue, I wonder if we could keep stan-dev/stan as the place where overarching issues with checklists live that need pull requests across all the interfaces.
> 2. Full logging instead of streams.
>
> Once we break apart the Stan repo, we can then implement full logging with logging levels. See https://github.com/stan-dev/stan/wiki/Consolidated-Output-for-Sample,-Optimize,-ADVI,-and-Diagnose
+1 for key-value output rather than trying a more complex structure. I guess the middle road would be a lightweight structure that makes it easy for interfaces to check whether a key is available.
> This means we can be consistent with our output from the core library and we can use structured output so rstan's output can be controlled easily.
>
>
> This will also help Krzysztof with what he's implementing with databases and other outputs.
Even now the writer interface is really good. I think the remaining problems are that output isn't sent to a clear part of the interface (e.g.-something that looks like a key-value message is sent all in one string, something that's just a string is pre-pended with spaces for formatting in a text file, etc...)
>
> 3. Services. This is the biggie. This will take most of the duplicated code out of cmdstan, rstan, and pystan.
>
>
> (Mike, you were right about having a consolidated config. The implementation wasn't and I was too caught up in the details. Bob sketched out something that will work. I can implement it cleanly and I want to push so this can happen very quickly.)
>
>
> I'm pretty sure I know how all the pieces fit, so I'm ready to move forward and replace everything. The overall interfaces won't change, but the backend will be a lot easier to manage.
>
>
>
>
>
> Any objections?
Nope.
> Any suggestions?
> Anyone want to help?
Yep, I had a good conversation with Bob at NESS about how to manage my involvement better. The specific list I could help on is something like: 1) pulling CmdStan through this process; 2) anything with the writers; 3) taking the current output spec you link to and proposing a key-value version; 4) replacing the reader(s) once we have a solid output spec; and 5) code review on any of the above.
Krzysztof
>
> Daniel