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

Any result #222

Closed
wants to merge 4 commits into from
Closed

Any result #222

wants to merge 4 commits into from

Conversation

keceli
Copy link
Contributor

@keceli keceli commented Feb 4, 2022

Status

  • Ready to go

Brief Description

This PR adds serializable AnyResult class.

Detailed Description (Optional)

TODOs and/or Questions

We have two classes Any and AnyResult that are identical with the only difference that the latter is serializable. We have a series of issues as discussed in #215 related to using inheritance to have a better design of these classes.

@ryanmrichard
Copy link
Member

I didn't fully read this, but it looks like you are reverting to the copy/paste solution. What are you trying to accomplish with this PR? Are you trying to get to a point where you can work on the serialization? If so, we have other issues to address (like how are we going to dispatch between Cereal and Madness) which need tackling first. I don't want to add serialization APIs until we have a plan for what they should look like.

If I'm understanding this PR correctly it has a bunch of unmet dependencies and so it's going to need to be rewritten when the other classes exist.

@keceli
Copy link
Contributor Author

keceli commented Feb 5, 2022

I didn't fully read this, but it looks like you are reverting to the copy/paste solution. What are you trying to accomplish with this PR?

One of our milestones is serializing cache to disk. This PR acheives that by enabling serialization of AnyResult and Cache classes. It doesn't break downstream by using MADNESS archive type traits to check for serializability.

Are you trying to get to a point where you can work on the serialization?

Yes, it would be more efficient to enable features as long as they don't break other parts of the code. While class names, repo names are changing, hanging PRs slow down development.

If so, we have other issues to address (like how are we going to dispatch between Cereal and Madness) which need tackling first. I don't want to add serialization APIs until we have a plan for what they should look like.

I am not sure what you mean by this. We already have a Cereal wrapper in Madness archive. Serialization PR was merged before, but reverted due to #169. Now, this problem is fixed by this PR, so what is missing?

If I'm understanding this PR correctly it has a bunch of unmet dependencies and so it's going to need to be rewritten when the other classes exist.

What do you mean by unmet dependencies? This PR already works with the downstream. Edit: I guess you mean the AnyField, AnyInput classes. But, we agreed to have a working solution first and then worry about the inheritance design you suggested.

@ryanmrichard
Copy link
Member

This is superseded by #226

@ryanmrichard ryanmrichard deleted the any_result branch May 7, 2022 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants