-
Notifications
You must be signed in to change notification settings - Fork 73
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
Revert "Hack dataclass'd function_interface to avoid breaking Firedrake" #886
Conversation
@connorjward I would like to revert this commit that adds a bunch of atrocities on top of a recent refactor that makes the loopy callables into dataclasses. All of loopy works OK without the atrociities (see the CI). The atrocities are being committed in order to keep Firedrake working. The one I like perhaps the least is that the dataclasses cannot be frozen (immutable), mainly because of this line: Replacing that line with
would already unblock things a bit. Beyond that, it'd be nice if all that extra code (see the diff in this PR) could go. For that, Firedrake's derived loopy callables would have to become dataclasses. One notable constraint is that frozen dataclasses cannot inherit from non-frozen, so the transition to frozen would likely have to happen first. As you can tell, all this requires a bit of coordination. I'm hoping you're open to serving as the point of contact here, but feel free to LMK if someone else would be better. Thanks! |
Thanks @inducer for the heads up and detailed information. I will hopefully find the time to address this by the end of the week. Note that we are currently moving PyOP2 into the Firedrake repository so this fix will have to wait until that is merged. |
Fixing this is now quite a high priority. Turns out that what you have here isn't quite sufficient for us. Specifically I will try to get things working on this branch. |
I am currently working on firedrakeproject/firedrake#3898 which uses this branch. |
As requested here: #886 (comment)
Whoops! Like this: #892? |
Yep. But I think instead of that we can just remove the Firedrake-specific code as this PR does. I have pretty much everything passing using this branch. I think you are welcome to just merge this and I will fix things up our end next week. |
This reverts commit 1af4523.
ae8db5b
to
4928fc9
Compare
Merging despite Firedrake failures as instructed by @connorjward here. |
This reverts commit 1af4523.