@@ -252,7 +252,7 @@ expression, and each different kind of expression---function
252252application, member access, etc.---generates a specific set of
253253constraints. Here, we enumerate the primary expression kinds in the
254254language and describe the type assigned to the expression and the
255- constraints generated from such as expression. We use ` T(a) ` to
255+ constraints generated from such an expression. We use ` T(a) ` to
256256refer to the type assigned to the subexpression ` a ` . The constraints
257257and types generated from the primary expression kinds are:
258258
@@ -631,9 +631,9 @@ on the type variable are categorized. Given a relational constraint of the form
631631` A ` is some concrete type, ` A ` is said to be "above"
632632` T0 ` . Similarly, given a constraint of the form ` B <? T0 ` for a
633633concrete type ` B ` , ` B ` is said to be "below" ` T0 ` . The
634- above/below terminologies comes from a visualization of the lattice of
634+ above/below terminology comes from a visualization of the lattice of
635635types formed by the conversion relationship, e.g., there is an edge
636- ` A -> B ` in the latter if ` A ` is convertible to ` B ` . ` B ` would
636+ ` A -> B ` in the lattice if ` A ` is convertible to ` B ` . ` B ` would
637637therefore be higher in the lattice than ` A ` , and the topmost element
638638of the lattice is the element to which all types can be converted,
639639` Any ` (often called "top").
@@ -764,7 +764,7 @@ checking problem::
764764```
765765This constraint system generates the constraints "` T(f) ` ==Fn ` T0 -> T1 ` "
766766(for fresh variables ` T0 ` and ` T1 ` ), "` (T2, X) <c T0 ` " (for fresh variable ` T2 ` )
767- and "` T2 ` conforms to` ExpressibleByFloatLiteral ` ". As part of the solution,
767+ and "` T2 ` conforms to ` ExpressibleByFloatLiteral ` ". As part of the solution,
768768after ` T0 ` is replaced with ` (i : Int, s : String) ` , the second of
769769these constraints is broken down into "` T2 <c Int ` " and "` X <c String ` ".
770770These two constraints are interesting for different
@@ -875,7 +875,7 @@ locator::
875875When we simplify this locator, we start with ` f(g()) ` . The "apply
876876argument" derivation step takes us to the argument expression
877877` g() ` . Here, however, there is no subexpression for the first tuple
878- element of ` g() ` , because it's simple part of the tuple returned
878+ element of ` g() ` , because it's simply part of the tuple returned
879879from ` g ` . At this point, simplification ceases, and creates the
880880simplified locator::
881881```
@@ -982,9 +982,9 @@ in detail in this
982982## Footnotes
983983
984984[ 1] : More accurately, as of this writing, "will compute". The solver
985- doesn't current compute meets and joins properly. Rather, it
985+ doesn't currently compute meets and joins properly. Rather, it
986986 arbitrarily picks one of the constraints "below" to start with.
987987
988988[ 2] : Again, as of this writing, the solver doesn't actually compute
989989 meets and joins, so the solver continues until it runs out of
990- supertypes to enumerate.
990+ supertypes to enumerate.
0 commit comments