Skip to content

Commit bd8065e

Browse files
committed
Change some wordings
1 parent e739f93 commit bd8065e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

docs/docs/reference/overview.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ The new features all address one or more of four major concerns:
1414
Scala 3 also drops a number of features that were used rarely, or where experience showed
1515
that they tended to cause problems in codebases. These are listed separately in the [Dropped Features](http://dotty.epfl.ch/docs) section.
1616

17-
Not included in this overview are changes to meta programming and generic programming. So far these have relied on a macro system that had experimental status (`scala.reflect` macros). This macro system will be replaced with a different solution. The current state of the design will be described elsewhere.
17+
Not included in this overview are changes to meta programming and generic programming. So far these have relied on a [macro system](https://docs.scala-lang.org/overviews/macros/overview.html) that had experimental status. This macro system will be replaced with a different solution. The current state of the design will be described elsewhere.
1818

1919
<a name="consistency"></a>
2020
## Consistency
2121

22-
Constructs that make the language more consistent internally, and consistent with its foundations. Constructs that admit useful laws of reasoning.
22+
The primary goal of the language constructs in this section is to make the language more consistent, both internally, and in relationship to its [foundations](http://www.scala-lang.org/blog/2016/02/03/essence-of-scala.html).
2323

2424
- [Intersection types](http://dotty.epfl.ch/docs/reference/intersection-types.html) `A & B`
2525

@@ -55,8 +55,7 @@ Constructs that make the language more consistent internally, and consistent wit
5555
<a name="safety"></a>
5656
## Safety
5757

58-
Constructs that help precise, typechecked domain modeling and that improve the
59-
reliability of refactorings.
58+
Listed in this section are new language constructs that help precise, typechecked domain modeling and that improve the reliability of refactorings.
6059

6160
- [Union types](http://dotty.epfl.ch/docs/reference/union-types.html) `A | B`
6261

@@ -99,7 +98,7 @@ reliability of refactorings.
9998
<a name="ergonomics"></a>
10099
## Ergonomics
101100

102-
Constructs that make common programming patterns more concise and readable.
101+
The primary goal of the language constructs in this section is to make common programming patterns more concise and readable.
103102

104103
- [Enums](http://dotty.epfl.ch/docs/reference/enums/enums.html) `enum Color { case Red, Green, Blue }`
105104

@@ -123,6 +122,8 @@ Constructs that make common programming patterns more concise and readable.
123122
<a name="performance"></a>
124123
## Performance
125124

125+
The primary goal of the language constructs in this section is to enable high-level, safe code without having to pay a performance penalty.
126+
126127
- Opaque Type Aliases `opaque type A = T`
127128

128129
([Pending](https://github.com/lampepfl/dotty/pull/4028)) An opaque alias defines a new type `A` in terms of an existing type `T`. Unlike the previous modeling using value classes, opaque types never box. Opaque types are described in detail in [SIP 35](https://docs.scala-lang.org/sips/opaque-types.html).

0 commit comments

Comments
 (0)