Skip to content

Commit 5a3a676

Browse files
committed
Merge pull request scala#433 from odersky/fix-me-2
Fix more typos
2 parents 7de2cb7 + 7a9f13c commit 5a3a676

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

blog/_posts/2016-05-06-multiversal-equality.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ property that values of type `T` can be compared to values of type
8080

8181
trait Eq[-T, -U]
8282

83-
That is, `Eq` is a pure marker trait two type parameters and without
83+
That is, `Eq` is a pure marker trait with two type parameters and without
8484
any members. Developers can define equality classes by giving
8585
implicit `Eq` instances. Here is a simple one:
8686

@@ -124,10 +124,10 @@ Details are explained in the
124124

125125
Here are some nice properties of the proposal
126126

127-
1. It is _opt-in_. To get safe checking, developers have to annotate classes that should
128-
allow comparisons only between their instances with `@equalityClass`, or they have to define implicit
127+
1. It is _opt-in_. To get safe checking, developers have to annotate with `@equalityClass` classes that should
128+
allow comparisons only between their instances, or they have to define implicit
129129
`Eq` instances by hand.
130-
2. It is backwards compatible. Without `@equalityClass` annotations equality works as before.
130+
2. It is backwards compatible. Without developer-provided `Eq` instances, equality works as before.
131131
3. It carries no run-time cost compared to universal equality. Indeed the run-time behavior of
132132
equality is not affected at all.
133133
4. It has no problems with parametricity, variance, or bottom types.
@@ -139,11 +139,9 @@ The scheme effectively leads to a partition of the former universe of
139139
types into sets of types. Values with types in the same partition can
140140
be compared among themselves but values with types in different
141141
partitions cannot.
142-
143142
An `@equalityClass` annotation on a type creates a new partition. All
144143
types that do not have any `Eq` instances (except `eqAny`, that is)
145144
form together another partition.
146-
147145
So instead of a single _universe_ of values that can be compared to
148146
each other we get a _multiverse_ of partitions. Hence the name of the
149147
proposal: **Multiversal Equality**.

0 commit comments

Comments
 (0)