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

Project revamp #37

Open
wants to merge 3 commits into
base: release-candidate
Choose a base branch
from
Open

Project revamp #37

wants to merge 3 commits into from

Conversation

gcotelli
Copy link
Member

@gcotelli gcotelli commented Jan 2, 2025

  • ArithmeticObject is now a subclass of Magnitude
  • Introduce ArithmeticFormula as an abstract class for formulas modeling calculations and two new sub classes: Summation and SequenceProduct
  • Introduce IntegerAsSuperscriptFormatter
  • Introduce DiscreteInterval to model an interval that can work with any arithmetic object as its boundaries and step
  • Improve quantitative analysis and align the project with the ISO 80000 standard:
    • Add support for physical dimensions and units defined in the standard system of units
    • Add support for information units (bit related) and angle units also
  • Add support for common units in the US Customary Units system
  • Improve documentation
  • Add localization messages in English and Spanish for error texts and standard unit names
  • Add Pharo 12 to the build matrix

Breaking changes

  • Remove Measure in favor of Quantity
  • Remove MeasureBag and friends
  • The UnitBehavior hierarchy changed its implementation; now is no longer required to create new sub classes for the quantitative analysis, UnitOfAccount is usable with other object as its reference.
  • Remove Evaluation and friends in favor of ArithmeticFormula
  • Remove several exceptions in favor of ArithmeticError
  • Remove CircularReadStream
  • Remove InfinityClass and friends, and infinity intervals because they cannot be enumerated so the only method non failing for these cases was includes:
  • Remove Pharo 8 support

- `ArithmeticObject` is now a subclass of Magnitude
- Introduce `ArithmeticFormula` as an abstract class for formulas modeling calculations and two new sub classes: `Summation` and `SequenceProduct`
- Introduce `IntegerAsSuperscriptFormatter`
- Introduce `DiscreteInterval` to model an interval that can work with any arithmetic object as its boundaries and step
- Improve quantitative analysis and align the project with the ISO 80000 standard:
	- Add support for physical dimensions and units defined in the standard system of units
	- Add support for information units (bit related) and angle units also
- Add support for common units in the US Customary Units system
- Improve documentation
- Add localization messages in English and Spanish for error texts and standard unit names
- Add Pharo 12 to the build matrix

## Breaking changes
- Remove `Measure` in favor of `Quantity`
- Remove `MeasureBag` and friends
- The `UnitBehavior` hierarchy changed its implementation; now is no longer required to create new sub classes for the quantitative analysis, `UnitOfAccount` is usable with other object as its reference.
- Remove `Evaluation` and friends in favor of `ArithmeticFormula`
- Remove several exceptions in favor of `ArithmeticError`
- Remove `CircularReadStream`
- Remove `InfinityClass` and friends, and infinity intervals because they cannot be enumerated so the only method non failing for these cases was `includes:`
- Remove Pharo 8 support
@gcotelli gcotelli requested a review from mtabacman January 2, 2025 13:19
@gcotelli gcotelli self-assigned this Jan 2, 2025
Copy link

codecov bot commented Jan 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (2b93c24) to head (e759816).
Report is 2 commits behind head on release-candidate.

Additional details and impacted files
@@                  Coverage Diff                   @@
##           release-candidate       #37      +/-   ##
======================================================
+ Coverage              93.93%   100.00%   +6.06%     
======================================================
  Files                     57        35      -22     
  Lines                  10062      3589    -6473     
======================================================
- Hits                    9452      3589    -5863     
+ Misses                   610         0     -610     

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

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.

1 participant