enso/distribution
Pavel Marek 1f8511dab2
Add Comparator conversion for all types (#4067)
Add `Comparator` type class emulation for all types. Migrate all the types in stdlib to this new `Comparator` API. The main documentation is in `Ordering.enso`.

Fixes these pivotals:
- https://www.pivotaltracker.com/story/show/183945328
- https://www.pivotaltracker.com/story/show/183958734
- https://www.pivotaltracker.com/story/show/184380208

# Important Notes
- The new Comparator API forces users to specify both `equals` and `hash` methods on their custom comparators.
- All the `compare_to` overrides were replaced by definition of a custom _ordered_ comparator.
- All the call sites of `x.compare_to y` method were replaced with `Ordering.compare x y`.
- `Ordering.compare` is essentially a shortcut for `Comparable.from x . compare x y`.
- The default comparator for `Any` is `Default_Unordered_Comparator`, which just forwards to the builtin `EqualsNode` and `HashCodeNode` nodes.
- For `x`, one can get its hash with `Comparable.from x . hash x`.
- This makes `hash` as _hidden_ as possible. There are no other public methods to get a hash code of an object.
- Comparing `x` and `y` can be done either by `Ordering.compare x y` or `Comparable.from x . compare x y` instead of `x.compare_to y`.
2023-02-10 09:22:11 +00:00
..
bin Enso Integration with Ideal Graph Visualizer (#3533) 2022-06-23 04:43:49 +00:00
engine/THIRD-PARTY Project save backed by git (#3851) 2022-11-14 17:32:39 +00:00
launcher Load the File_Format types via a ServiceLoader (#3813) 2022-10-24 09:55:18 +00:00
lib/Standard Add Comparator conversion for all types (#4067) 2023-02-10 09:22:11 +00:00
project-manager/THIRD-PARTY Load the File_Format types via a ServiceLoader (#3813) 2022-10-24 09:55:18 +00:00
enso.bundle.template Better component handling in the project manager (#1399) 2021-01-15 15:26:51 +00:00
launcher-manifest.yaml Bump the development version number (#1389) 2021-01-06 08:57:02 +00:00
manifest.template.yaml Bump Minimal PM/Launcher Versions for New Engine (#1854) 2021-07-13 13:08:00 +02:00