You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/reference/overview.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,12 +14,12 @@ The new features all address one or more of four major concerns:
14
14
Scala 3 also drops a number of features that were used rarely, or where experience showed
15
15
that they tended to cause problems in codebases. These are listed separately in the [Dropped Features](http://dotty.epfl.ch/docs) section.
16
16
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.
18
18
19
19
<aname="consistency"></a>
20
20
## Consistency
21
21
22
-
Constructs that make the language more consistentinternally, 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).
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.
103
102
104
103
-[Enums](http://dotty.epfl.ch/docs/reference/enums/enums.html)`enum Color { case Red, Green, Blue }`
105
104
@@ -123,6 +122,8 @@ Constructs that make common programming patterns more concise and readable.
123
122
<aname="performance"></a>
124
123
## Performance
125
124
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
+
126
127
- Opaque Type Aliases `opaque type A = T`
127
128
128
129
([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