Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple pipeline #144

Open
MattWindsor91 opened this issue Feb 17, 2017 · 1 comment
Open

Decouple pipeline #144

MattWindsor91 opened this issue Feb 17, 2017 · 1 comment

Comments

@MattWindsor91
Copy link
Collaborator

I'm working on some proposals to make Starling more interactive (eg. guided inference of view expressions, #143) and reactive (eg. using inference at the end of the pipeline then re-evaluating proof cycles).

I think what would be useful is if we refactored Starling from a strict pipeline to a more dependency-based approach where, for example, all of the various stages of a Starling proof generation are stored together as options in a big Proof object, and then the pipeline stages correspond to asking for a specific part of that object and back-propagating requests for earlier stages to calculate it.

That way, reactive processes can just replace the newly inferred bits of the Starling proof and rerun the later stages, and interactive processes can more easily selectively run off smaller bits of the Starling proof process to test possible solutions.

@MattWindsor91
Copy link
Collaborator Author

This seems like it's something that could take a while to crunch through and become a massive rabbit hole, but I'm not sure how else to structure Starling for inference without making the pipeline an unholy mess.

Feels like playing around with this should be a weekend project to start with maybe.

@bensimner I vaguely remember you suggesting something like this (though it might have been specifically for bits of proof rather than the whole context) and at the time I was wary of doing so. Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant