Skip to content

Conversation

@nicolasfara
Copy link
Contributor

@nicolasfara nicolasfara commented Oct 23, 2025

This PR fixes a trait clash caused by a previous refactoring where two ShareDataOps traits were defined with different aims.

Rationale

AggregateFoundation defines an abstract ShareData representing a data structure produced in the context of an aggregate program. Such a data structure, according to this definition, is abstract. In ShareDataOps, we provide two functionalities: one to retrieve the local value from such a structure, and one for getting the neighbors' values.

In FieldBasedShareData such ShareData is further refined to the concept of Field. Indeed, it requires additional functionalities that are specified in NeighborValuesOps, which defines several methods to combine and operate with such a data structure.

@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

❌ Patch coverage is 81.48148% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.79%. Comparing base (843ce8a) to head (1835f1b).

Files with missing lines Patch % Lines
...unibo/scafi/language/xc/FieldBasedSharedData.scala 81.48% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #164      +/-   ##
==========================================
- Coverage   65.80%   65.79%   -0.01%     
==========================================
  Files          49       48       -1     
  Lines         693      690       -3     
  Branches       58       57       -1     
==========================================
- Hits          456      454       -2     
+ Misses        237      236       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nicolasfara nicolasfara force-pushed the fix/data-ops branch 2 times, most recently from b93bf5c to 819e051 Compare October 23, 2025 16:49
@nicolasfara nicolasfara changed the title refactor!: better separate ShareDataOps from NeighborValuesOps refactor!: consistently separate ShareDataOps from NeighborValuesOps Oct 24, 2025
Copy link
Contributor

@cric96 cric96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused right now: why before we had "AggregateFoundation" and then "FieldBasedSharedData"?

@mergify
Copy link

mergify bot commented Oct 25, 2025

Hi @nicolasfara! 👋
This pull request has conflicts 😖
Could you fix it? 🔧
Thank you! 🙏

@nicolasfara
Copy link
Contributor Author

I'm confused right now: why before we had "AggregateFoundation" and then "FieldBasedSharedData"?

This is because the Field-specific methods are now available as extension methods on the class FieldBasedSharedData.
For this reason we cannot simply rely on Aggregate foundation, but on FieldBasedSharedData since it enables such extension methods

@cric96
Copy link
Contributor

cric96 commented Oct 25, 2025

I would then not call that lang

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants