Skip to content

Commit cf8f01a

Browse files
authored
Merge pull request #9034 from asakaev/docs
Improve documentation
2 parents 587945b + 87288e3 commit cf8f01a

28 files changed

+29
-29
lines changed

.github/ISSUE_TEMPLATE/crash.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: "\U0001F4A5 Crash report"
3-
about: Report a Dotty Compiler compiler crash
3+
about: Report a Dotty compiler crash
44
title: ''
55
labels: itype:bug, itype:crash
66
assignees: ''

docs/blog/_posts/2016-02-03-essence-of-scala.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ property was shown with a mechanized, (i.e. machine-checked) proof:
6565
Formulating the precise soundness theorem and proving it was unexpectedly hard,
6666
because it uncovered some technical challenges that had not been
6767
studied in depth before. In DOT - as well as in many programming languages -
68-
you can have conflicting definitions. For instance you might have an abstract
68+
you can have conflicting definitions. For instance, you might have an abstract
6969
type declaration in a base class with two conflicting aliases in subclasses:
7070
```scala
7171
trait Base { type A }

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ For instance, one might want to introduce a proxy for some data structure so tha
1818

1919
## Where Are We Today?
2020

21-
The problems of universal equality in Scala are of course well known. Some libraries have tried to fix it by adding another equality operator with more restricted typing. Most often this safer equality is written `===`. While `===` is certainly useful, I am not a fan of adding another equality operator to the language and core libraries. It would be much better if we could fix `==` instead. This would be both simpler and would catch all potential equality problems including those related to pattern matching.
21+
The problems of universal equality in Scala are of course well-known. Some libraries have tried to fix it by adding another equality operator with more restricted typing. Most often this safer equality is written `===`. While `===` is certainly useful, I am not a fan of adding another equality operator to the language and core libraries. It would be much better if we could fix `==` instead. This would be both simpler and would catch all potential equality problems including those related to pattern matching.
2222

2323
How can `==` be fixed? It looks much harder to do this than adding an alternate equality operator. First, we have to keep backwards compatibility. The ability to compare everything to everything is by now baked into lots of code and libraries. Second, with just one equality operator we need to make this operator work in all cases where it makes sense. An alternative `===` operator can choose to refuse some comparisons that should be valid because there's always `==` to fall back to. With a unique `==` operator we do not have this luxury.
2424

docs/blog/_posts/2016-12-05-implicit-function-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ abstraction to Scala_". What do I mean by this?
1414
**Abstraction**: The ability to name a concept and use just the name afterwards.
1515

1616
**Contextual**: A piece of a program produces results or outputs in
17-
some context. Our programming languages are very good in describing
17+
some context. Our programming languages are very good at describing
1818
and abstracting what outputs are produced. But there's hardly anything
1919
yet available to abstract over the inputs that programs get from their
2020
context. Many interesting scenarios fall into that category,

docs/blog/_posts/2017-12-01-fifth-dotty-milestone-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ are currently two backends using the TASTY frontend:
109109
different backends...
110110

111111
### Generic java signatures [#3234](https://github.com/lampepfl/dotty/pull/3234)
112-
Dotty now emits generic signatures for classes and methods. Theses signatures are used by compilers,
112+
Dotty now emits generic signatures for classes and methods. Those signatures are used by compilers,
113113
debuggers and to support runtime reflection. For example:
114114

115115
```scala

docs/blog/_posts/2019-05-23-15th-dotty-milestone-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ val res3: Int = 3
8383

8484
To smoothen the migration, the deprecation warnings will only be emitted if you compile with the `-strict` flag under Scala 3. Alphanumeric methods that are defined without the `@infix` annotation used in an infix position will be deprecated by default starting with Scala 3.1.
8585

86-
For more information, see the the [documentation](https://dotty.epfl.ch/docs/reference/changed-features/operators.html#the-infix-annotation). Note that the `@alpha` annotation also described in the documentation is planned for the future and is not available in this release.
86+
For more information, see the [documentation](https://dotty.epfl.ch/docs/reference/changed-features/operators.html#the-infix-annotation). Note that the `@alpha` annotation also described in the documentation is planned for the future and is not available in this release.
8787

8888
## `given` clause comes last
8989
In the previous release, you could write something like this:

docs/blog/_posts/2019-11-04-20th-dotty-milestone-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ The main reasons for dropping `private[this]` are:
5959
- Its effect over `private` is purely local and can be easily inferred.
6060
- It leads to bike shedding: should I use `private` or `private[this]`? One is shorter but the other might be more efficient.
6161

62-
`protected[this]` by now influences compiler decisions in no way at all. Hence it is is reasonable to drop it.
62+
`protected[this]` by now influences compiler decisions in no way at all. Hence it is reasonable to drop it.
6363

6464
## `with` keyword's new role
6565
`with` keyword can now optionally precede the class body. So that you can write your classes as follows:

docs/blog/_posts/2019-12-20-21th-dotty-milestone-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ For more details also follow the [Migrating the Ecosystem](https://www.scala-lan
6363

6464
Firstly thank you for all the hard work in issue reporting! Being feature complete means that our
6565
issue tracker will now be more important than ever. We encourage you to stress
66-
the compiler and report self contained test-cases! Bug minimization is hard and
66+
the compiler and report self-contained test-cases! Bug minimization is hard and
6767
an art form! Help us unearth those nasty bugs! ✊
6868

6969
Last but not least we restate the mission of Scala 3. Scala has pioneered the

docs/blog/_posts/2020-04-29-24th-dotty-milestone-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ authorImg: /images/anatolii.png
66
date: 2020-04-29
77
---
88

9-
Hello! We are excited to announce 0.24.0-RC1 of Dotty. In this version, we have updated the standard library to 2.13.2. Also, we have made some work to make error messages more user friendly and a bunch of other polishings to the language.
9+
Hello! We are excited to announce 0.24.0-RC1 of Dotty. In this version, we have updated the standard library to 2.13.2. Also, we have made some work to make error messages more user-friendly and a bunch of other polishings to the language.
1010

1111
You can try out this version right now, from the comfort of your SBT, by visiting the [home page](https://dotty.epfl.ch/) and scrolling down to the "Create a Dotty Project" section.
1212

docs/docs/contributing/procedures/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Note that after the first stage of the release cycle (see "Publishing artifacts
4141
- `<stable-version>` *tag* of the stable version being released
4242
- `<rc-version>` *tag* of the RC version being released
4343

44-
However you may end up with as many as 6 tasks being run. The auxiliary tasks may include:
44+
However, you may end up with as many as 6 tasks being run. The auxiliary tasks may include:
4545

4646
- *commit* tests of the *tags* specified above. You may have two of these, corresponding to the two tags. You should see them appearing to have the same commit hash in the CI, but one of them will have the tag next to it and the other one will not. The *tag* one must remain, as the CI tasks on tags publish to maven. CI tasks on commits do not. So it is safe to cancel the task running on the commit, if the commit hash is the same as that of the tag's task commit.
4747
- Older commit from the `master` branch. Look for all the tasks run on the `master` branch in the CI and see if there are more than one of these. Then, find the one testing the most recent commit of the branch. The others can safely be canceled.

docs/docs/internals/debug-macros.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Debug Macros"
44
---
55

66
Complex macros may break invariants of the compiler, which leads to compiler crashes.
7-
Here we lists common compiler crashes and how to deal with them.
7+
Here we list common compiler crashes and how to deal with them.
88

99
## position not set
1010

docs/docs/internals/explicit-nulls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Within `Types.scala`, we defined some extractors to work with nullable unions:
8282
}
8383
```
8484

85-
These extractor will call utility methods in `NullOpsDecorator.scala`. All of these
85+
This extractor will call utility methods in `NullOpsDecorator.scala`. All of these
8686
are methods of the `Type` class, so call them with `this` as a receiver:
8787

8888
- `stripNull` syntactically strips all `Null` types in the union:

docs/docs/reference/changed-features/compiler-plugins.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ dotc -Xplugin:pluginA.jar -Xplugin:pluginB.jar Test.scala
3333

3434
The compiler will examine the jar provided, and look for a property file named
3535
`plugin.properties` in the root directory of the jar. The property file specifies
36-
the fully qualified plugin class name. The format of a property file is as follow:
36+
the fully qualified plugin class name. The format of a property file is as follows:
3737

3838
```properties
3939
pluginClass=dividezero.DivideZero
@@ -99,7 +99,7 @@ the `PluginPhase` trait. In order to specify when the phase is executed, we also
9999
need to specify a `runsBefore` and `runsAfter` constraints that are list of phase
100100
names.
101101

102-
We can now transform trees by by overriding methods like `transformXXX`.
102+
We can now transform trees by overriding methods like `transformXXX`.
103103

104104
## Writing a Research Compiler Plugin
105105

docs/docs/reference/changed-features/interpolation-escapes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: doc-page
33
title: Escapes in interpolations
44
---
55

6-
In Scala 2 there was no straightforward way to represnt a single quote character `"` in a single quoted interpolation. A \ character can't be used for that because interpolators themselves decide how to handle escaping, so the parser doesn't know whether or not the " shold be escaped or used as a terminator.
6+
In Scala 2 there was no straightforward way to represent a single quote character `"` in a single quoted interpolation. A \ character can't be used for that because interpolators themselves decide how to handle escaping, so the parser doesn't know whether the " should be escaped or used as a terminator.
77

88
In Dotty, you can use the `$` meta character of interpolations to escape a `"` character.
99

docs/docs/reference/contextual/derivation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ This means that code for generic type classes has to ensure that type exploratio
391391
lockstep and it has to assert this conformance in some places using casts. If generic type classes are correctly
392392
written these casts will never fail.
393393

394-
As mentioned, however, the compiler-provided mechansim is intentionally very low level and it is anticipated that
394+
As mentioned, however, the compiler-provided mechanism is intentionally very low level and it is anticipated that
395395
higher level type class derivation and generic programming libraries will build on this and Dotty's other
396396
metaprogramming facilities to hide these low-level details from type class authors and general users. Type class
397397
derivation in the style of both shapeless and Magnolia are possible (a prototype of shapeless 3, which combines

docs/docs/reference/contextual/typeclasses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Applying the `List.map` ability with the following mapping function as parameter
154154

155155
Now, applying the `List.map` ability with the following mapping function as parameter: `mapping: A => List[B]` would result in a `List[List[B]]`.
156156

157-
To avoid avoid managing lists of lists, we may want to "flatten" the values in a single list.
157+
To avoid managing lists of lists, we may want to "flatten" the values in a single list.
158158

159159
That's where `Monad` enters the party. A `Monad` for type `F[?]` is a `Functor[F]` with 2 more abilities:
160160
* the flatten ability we just described: turning `F[A]` to `F[B]` when given a `mapping: A => F[B]` function

docs/docs/reference/dropped-features/this-qualifier.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Dropped: private[this] and protected[this]
55

66
The `private[this]` and `protected[this]` access modifiers are deprecated and will be phased out.
77

8-
Previously, these modifier were needed
8+
Previously, these modifiers were needed
99

1010
- for avoiding the generation of getters and setters
1111
- for excluding code under a `private[this]` from variance checks. (Scala 2 also excludes `protected[this]` but this was found to be unsound and was therefore removed).

docs/docs/reference/features-classification.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ These constructs replace existing constructs with the aim of making the language
4646
provide a simple and general way to express aggregation, which can replace the
4747
previous facade pattern of package objects inheriting from classes.
4848
- [Vararg patterns](changed-features/vararg-patterns.md) now use the form `: _*` instead of `@ _*`, mirroring vararg expressions,
49-
- [Creator applications](other-new-features/creator-applications.md) allow to use simple function call syntax
49+
- [Creator applications](other-new-features/creator-applications.md) allow using simple function call syntax
5050
instead of `new` expressions. `new` expressions stay around as a fallback for
5151
the cases where creator applications cannot be used.
5252

docs/docs/reference/metaprogramming/erased-terms-spec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@ title: "Erased Terms Spec"
5959

6060
7. Overriding
6161
* Member definitions overriding each other must both be `erased` or not be `erased`
62-
* `def foo(x: T): U` cannot be overridden by `def foo(erased x: T): U` an vice-versa
62+
* `def foo(x: T): U` cannot be overridden by `def foo(erased x: T): U` and vice-versa
6363

docs/docs/reference/metaprogramming/simple-smp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ To prove (2):
142142
- `t1` is a simple term but `t2` is not. Then by the second IH. `t2 ==> t22`, hence `t ==> t1 t22`.
143143

144144
- The case `t = ’t2` is not typable.
145-
- If `t = ~t2` then by inversion we have `E2 ~ |- t2: ’T2`, for some some type `T2`.
145+
- If `t = ~t2` then by inversion we have `E2 ~ |- t2: ’T2`, for some type `T2`.
146146
By the first I.H., we have one of
147147

148148
- `t2 = v`. Since `t2: ’T2`, we must have `v = ’u`, for some simple term `u`, hence `t = ~’u`.

docs/docs/reference/metaprogramming/staging.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The framework expresses at the same time compile-time meta-programming and
77
multi-stage programming. We can think of compile-time meta-programming as a
88
two stage compilation process: one that we write the code in top-level splices,
99
that will be used for code generation (macros) and one that will perform all
10-
necessecary evaluations at compile-time and an object program that we will run
10+
necessary evaluations at compile-time and an object program that we will run
1111
as usual. What if we could synthesize code at run-time and offer one extra stage
1212
to the programmer? Then we can have a value of type `Expr[T]` at run-time that we
1313
can essentially treat as a typed-syntax tree that we can either _show_ as a

docs/docs/reference/metaprogramming/toc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ introduce the following fundamental facilities:
3333

3434
4. [TASTy Reflection](./tasty-reflect.md) Quotations are a "black-box"
3535
representation of code. They can be parameterized and composed using
36-
splices but their structure cannot be analyzed from the outside. Tasty
36+
splices, but their structure cannot be analyzed from the outside. Tasty
3737
reflection gives a way to analyze code structure by partly revealing the representation type of a piece of code in a standard API. The representation
3838
type is a form of typed abstract syntax tree, which gives rise to the `TASTy`
3939
moniker.

docs/docs/reference/new-types/type-lambdas-spec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ type O2[X] = List[X]
102102
```
103103
would be treated as covariant, `X` is used covariantly on its right-hand side.
104104

105-
**Note**: The decision to treat `Nothing` as universal bottom type is provisional, and might be changed afer further discussion.
105+
**Note**: The decision to treat `Nothing` as universal bottom type is provisional, and might be changed after further discussion.
106106

107107
**Note**: Scala 2 and 3 differ in that Scala 2 also treats `Any` as universal top-type. This is not done in Scala 3. See also the discussion on [kind polymorphism](../other-new-features/kind-polymorphism.md)
108108

docs/docs/reference/new-types/type-lambdas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ a type definition.
1111
```
1212

1313
For instance, the type above defines a binary type constructor, which maps arguments `X` and `Y` to `Map[Y, X]`.
14-
Type parameters of type lambdas can have bounds but they cannot carry `+` or `-` variance annotations.
14+
Type parameters of type lambdas can have bounds, but they cannot carry `+` or `-` variance annotations.
1515

1616
[More details](./type-lambdas-spec.md)

docs/docs/reference/other-new-features/creator-applications.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: doc-page
33
title: "Creator Applications"
44
---
55

6-
Creator applications allow to use simple function call syntax to create instances
6+
Creator applications allow using simple function call syntax to create instances
77
of a class, even if there is no apply method implemented. Example:
88
```scala
99
class StringBuilder(s: String) {

docs/docs/reference/other-new-features/indentation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ Significant indentation is enabled by default. It can be turned off by giving an
342342

343343
The Dotty compiler can rewrite source code to indented code and back.
344344
When invoked with options `-rewrite -indent` it will rewrite braces to
345-
indented regions where possible. When invoked with with options `-rewrite -noindent` it will rewrite in the reverse direction, inserting braces for indentation regions.
345+
indented regions where possible. When invoked with options `-rewrite -noindent` it will rewrite in the reverse direction, inserting braces for indentation regions.
346346
The `-indent` option only works on [new-style syntax](./control-syntax.html). So to go from old-style syntax to new-style indented code one has to invoke the compiler twice, first with options `-rewrite -new-syntax`, then again with options
347347
`-rewrite -indent`. To go in the opposite direction, from indented code to old-style syntax, it's `-rewrite -noindent`, followed by `-rewrite -old-syntax`.
348348

docs/docs/reference/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ These constructs replace existing constructs with the aim of making the language
4242
provide a simple and general way to express aggregation, which can replace the
4343
previous facade pattern of package objects inheriting from classes.
4444
- [Vararg patterns](changed-features/vararg-patterns.md) now use the form `: _*` instead of `@ _*`, mirroring vararg expressions,
45-
- [Creator applications](other-new-features/creator-applications.md) allow to use simple function call syntax
45+
- [Creator applications](other-new-features/creator-applications.md) allow using simple function call syntax
4646
instead of `new` expressions. `new` expressions stay around as a fallback for
4747
the cases where creator applications cannot be used.
4848

tests/run-custom-args/tasty-interpreter/notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Abstract platform operations
55
- Arrays
66
- Proxies
7-
- Enviroment of the object
7+
- Environment of the object
88
- `this` in Env
99
- Class with fields
1010
- Class with custom constructor (and secondary)

0 commit comments

Comments
 (0)