Skip to content

Commit e4fa32b

Browse files
authored
Merge branch 'main' into th_tour_traits
2 parents d57d5dd + b8e1b21 commit e4fa32b

File tree

137 files changed

+5579
-1079
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+5579
-1079
lines changed

Gemfile.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ GEM
251251
rb-fsevent (0.11.2)
252252
rb-inotify (0.10.1)
253253
ffi (~> 1.0)
254-
rexml (3.2.8)
255-
strscan (>= 3.0.9)
254+
rexml (3.3.6)
255+
strscan
256256
rouge (3.30.0)
257257
ruby2_keywords (0.0.5)
258258
rubyzip (2.3.2)
@@ -280,7 +280,7 @@ GEM
280280
unf_ext (0.0.9.1-x64-mingw-ucrt)
281281
unicode-display_width (1.8.0)
282282
uri (0.13.0)
283-
webrick (1.8.1)
283+
webrick (1.8.2)
284284
yell (2.2.2)
285285
zeitwerk (2.6.7)
286286

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Scala Documentation #
22

3-
[![Build Status](https://ci.scala-lang.org/api/badges/scala/docs.scala-lang/status.svg)](https://platform-ci.scala-lang.org/scala/docs.scala-lang)
3+
[![Build Status](https://github.com/scala/docs.scala-lang/actions/workflows/build.yml/badge.svg)](https://github.com/scala/docs.scala-lang/actions/workflows/build.yml?query=branch%3Amain)
44

55
This repository contains the source for the Scala documentation website, as well as the source for "Scala Improvement Process" (SIP) documents.
66

_ba/tour/automatic-closures.md

-7
This file was deleted.

_config.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ keywords:
1515
- Document
1616
- Guide
1717

18-
scala-version: 2.13.14
19-
scala-212-version: 2.12.19
20-
scala-3-version: 3.4.2
18+
scala-version: 2.13.15
19+
scala-212-version: 2.12.20
20+
scala-3-version: 3.5.2
2121

2222
collections:
2323
style:

_data/compiler-options.yml

-4
Original file line numberDiff line numberDiff line change
@@ -469,10 +469,6 @@
469469
schema:
470470
type: "Boolean"
471471
description: "Don't perform exhaustivity/unreachability analysis. Also, ignore @switch annotation."
472-
- option: "-Xno-uescape"
473-
schema:
474-
type: "Boolean"
475-
description: "Disable handling of \\u unicode escapes."
476472
- option: "-Xnojline"
477473
schema:
478474
type: "Boolean"

_data/doc-nav-header.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
- title: Getting Started
2-
url: "/getting-started/index.html"
2+
url: "#"
3+
submenu:
4+
- title: Install Scala
5+
url: "/getting-started/install-scala.html"
6+
- title: Scala IDEs
7+
url: "/getting-started/scala-ides.html"
38
- title: Scala 3
49
url: "#"
510
submenu:

_data/footer.yml

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
url: "http://scala-lang.org/community/"
2424
- title: Governance
2525
url: "http://scala-lang.org/community/index.html#governance"
26+
- title: Scala Ambassadors
27+
url: "http://scala-lang.org/ambassadors/"
2628
- title: Mailing Lists
2729
url: "http://scala-lang.org/community/index.html#mailing-lists"
2830
- title: Chat Rooms & More

_data/overviews.yml

+3
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@
161161
description: "A diverse and comprehensive set of libraries is important to any productive software ecosystem. While it is easy to develop and distribute Scala libraries, good library authorship goes beyond just writing code and publishing it. In this guide, we cover the important topic of Binary Compatibility."
162162
icon: puzzle-piece
163163
url: "core/binary-compatibility-for-library-authors.html"
164+
- title: Nightly Versions of Scala
165+
description: "We regularly publish 'nightlies' of both Scala 3 and Scala 2 so that users can preview and test the contents of upcoming releases. Here's how to find and use these versions."
166+
url: "core/nightlies.html"
164167

165168
- category: "Tools"
166169
description: "Reference material on core Scala tools like the Scala REPL and Scaladoc generation."

_data/setup-scala.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ linux-x86-64: curl -fL https://github.com/coursier/coursier/releases/latest/down
22
linux-arm64: curl -fL https://github.com/VirtusLab/coursier-m1/releases/latest/download/cs-aarch64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
33
macOS-x86-64: curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-apple-darwin.gz | gzip -d > cs && chmod +x cs && (xattr -d com.apple.quarantine cs || true) && ./cs setup
44
macOS-arm64: curl -fL https://github.com/VirtusLab/coursier-m1/releases/latest/download/cs-aarch64-apple-darwin.gz | gzip -d > cs && chmod +x cs && (xattr -d com.apple.quarantine cs || true) && ./cs setup
5-
macOS-brew: brew install coursier/formulas/coursier && cs setup
5+
macOS-brew: brew install coursier && coursier setup
66
windows-link: https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-win32.zip

_es/tour/automatic-closures.md

-65
This file was deleted.

_es/tour/multiple-parameter-lists.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ partof: scala-tour
66
num: 15
77
language: es
88

9-
next-page: automatic-closures
9+
next-page: operators
1010
previous-page: nested-functions
1111
---
1212

_es/tour/operators.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ num: 17
77
language: es
88

99
next-page: higher-order-functions
10-
previous-page: automatic-closures
10+
previous-page: multiple-parameter-lists
1111
---
1212

1313
En Scala, cualquier método el cual reciba un solo parámetro puede ser usado como un *operador de infijo (infix)*. Aquí se muestra la definición de la clase `MyBool`, la cual define tres métodos `and`, `or`, y `negate`.

_es/tour/tour-of-scala.md

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ El [mecanismo de inferencia de tipos locales](type-inference.html) se encarga de
3737

3838
En la práctica, el desarrollo de aplicaciones específicas para un dominio generalmente requiere de "Lenguajes de dominio específico" (DSL). Scala provee una única combinación de mecanismos del lenguaje que simplifican la creación de construcciones propias del lenguaje en forma de bibliotecas:
3939
* cualquier método puede ser usado como un operador de [infijo o postfijo](operators.html)
40-
* [las closures son construidas automáticamente dependiendo del tipo esperado](automatic-closures.html) (tipos objetivo).
4140

4241
El uso conjunto de ambas características facilita la definición de nuevas sentencias sin tener que extender la sintaxis y sin usar facciones de meta-programación como tipo macros.
4342

File renamed without changes.

_fr/tour/automatic-closures.md

-7
This file was deleted.

_includes/_markdown/install-cask.md

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{% altDetails require-info-box 'Getting Cask' %}
2+
3+
{% tabs cask-install class=tabs-build-tool %}
4+
5+
{% tab 'Scala CLI' %}
6+
You can declare a dependency on Cask with the following `using` directive:
7+
```scala
8+
//> using dep "com.lihaoyi::cask::0.9.2"
9+
```
10+
{% endtab %}
11+
12+
{% tab 'sbt' %}
13+
In your `build.sbt`, you can add a dependency on Cask:
14+
```scala
15+
lazy val example = project.in(file("example"))
16+
.settings(
17+
scalaVersion := "3.4.2",
18+
libraryDependencies += "com.lihaoyi" %% "cask" % "0.9.2",
19+
fork := true
20+
)
21+
```
22+
{% endtab %}
23+
24+
{% tab 'Mill' %}
25+
In your `build.sc`, you can add a dependency on Cask:
26+
```scala
27+
object example extends RootModule with ScalaModule {
28+
def scalaVersion = "3.3.3"
29+
def ivyDeps = Agg(
30+
ivy"com.lihaoyi::cask::0.9.2"
31+
)
32+
}
33+
```
34+
{% endtab %}
35+
36+
{% endtabs %}
37+
{% endaltDetails %}

_includes/_markdown/install-munit.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ Alternatively, you can require just a specific version of MUnit:
1616
{% tab 'sbt' %}
1717
In your build.sbt file, you can add the dependency on toolkit-test:
1818
```scala
19-
lazy val example = project.in(file("example"))
19+
lazy val example = project.in(file("."))
2020
.settings(
2121
scalaVersion := "3.3.3",
2222
libraryDependencies += "org.scala-lang" %% "toolkit-test" % "0.1.7" % Test
2323
)
2424
```
25-
Here the `Test` configuration means that the dependency is only used by the source files in `example/src/test`.
25+
26+
Here the `Test` configuration means that the dependency is only used by the source files in `src/test`.
2627

2728
Alternatively, you can require just a specific version of MUnit:
2829
```scala

_includes/_markdown/install-os-lib.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Alternatively, you can require just a specific version of OS-Lib:
1515
{% tab 'sbt' %}
1616
In your `build.sbt`, you can add a dependency on the toolkit:
1717
```scala
18-
lazy val example = project.in(file("example"))
18+
lazy val example = project.in(file("."))
1919
.settings(
2020
scalaVersion := "3.3.3",
2121
libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"

_includes/_markdown/install-sttp.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Alternatively, you can require just a specific version of sttp:
1515
{% tab 'sbt' %}
1616
In your build.sbt file, you can add a dependency on the Toolkit:
1717
```scala
18-
lazy val example = project.in(file("example"))
18+
lazy val example = project.in(file("."))
1919
.settings(
2020
scalaVersion := "3.3.3",
2121
libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"

_includes/_markdown/install-upickle.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Alternatively, you can require just a specific version of UPickle:
1515
{% tab 'sbt' %}
1616
In your build.sbt file, you can add the dependency on the Toolkit:
1717
```scala
18-
lazy val example = project.in(file("example"))
18+
lazy val example = project.in(file("."))
1919
.settings(
2020
scalaVersion := "3.3.3",
2121
libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"

_includes/alert-banner.html

+2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
{% comment %}use the variable 'message' to include markdown text to display in the alert.{% endcomment %}
22

3+
{% unless include.message_id == 'disabled' %}
34
<header id="site-header" class="header-home">
45
<div class="new-on-the-blog alert-warning" data-message_id="{{include.message_id}}">
56
<p>{{include.message|markdownify}}</p>
67
<span class="hide"><i class="fa fa-close"></i></span>
78
</div>
89
</header>
10+
{% endunless %}
File renamed without changes.

_ja/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ sections:
1414
- title: "入門"
1515
description: "あなたのコンピューターに Scala をインストールして、Scala コードを書きはじめよう!"
1616
icon: "fa fa-rocket"
17-
link: /ja/getting-started/index.html
17+
link: /ja/getting-started/install-scala.html
1818
- title: "Scala ツアー"
1919
description: "コア言語機能をひと口大で紹介"
2020
icon: "fa fa-flag"

_ja/overviews/macros/paradise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ title: マクロパラダイス
1919
マクロパラダイス (Macro paradise) とは Scala の複数のバージョンをサポートするコンパイラプラグインで、一般向けにリリースされている <code>scalac</code> と共に正しく動作するように設計されている。
2020
これによって、将来の Scala に取り込まれるよりもいち早く最新のマクロ機能を使えるようになっている。
2121
[サポートされている機能とバージョンの一覧](/ja/overviews/macros/roadmap.html))に関してはロードマップページを、
22-
動作の保証に関しては[マクロパラダイスのアナウンスメント](https://scalamacros.org/news/2013/08/07/roadmap-for-macro-paradise.html)を参照してほしい。
22+
動作の保証に関しては[マクロパラダイスのアナウンスメント](hxxps://scalamacros.org/news/2013/08/07/roadmap-for-macro-paradise.html)を参照してほしい。
2323

2424
~/210x $ scalac -Xplugin:paradise_*.jar -Xshow-phases
2525
phase name id description

_ja/overviews/macros/typemacros.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: 型マクロ
99
**Eugene Yokota 訳**
1010

1111
型マクロ (type macro) は[マクロパラダイス](/ja/overviews/macros/paradise.html)の以前のバージョンから利用可能だったが、マクロパラダイス 2.0 ではサポートされなくなった。
12-
[the paradise 2.0 announcement](https://scalamacros.org/news/2013/08/05/macro-paradise-2.0.0-snapshot.html) に説明と移行のための戦略が書かれている。
12+
[the paradise 2.0 announcement](hxxps://scalamacros.org/news/2013/08/05/macro-paradise-2.0.0-snapshot.html) に説明と移行のための戦略が書かれている。
1313

1414
## 直観
1515

_ja/overviews/macros/untypedmacros.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: 型指定の無いマクロ
99
**Eugene Yokota 訳**
1010

1111
型指定の無いマクロ (untyped macro) は[マクロパラダイス](/ja/overviews/macros/paradise.html)の以前のバージョンから利用可能だったが、マクロパラダイス 2.0 ではサポートされなくなった。
12-
[the paradise 2.0 announcement](https://scalamacros.org/news/2013/08/05/macro-paradise-2.0.0-snapshot.html) に説明と移行のための戦略が書かれている。
12+
[the paradise 2.0 announcement](hxxps://scalamacros.org/news/2013/08/05/macro-paradise-2.0.0-snapshot.html) に説明と移行のための戦略が書かれている。
1313

1414
## 直観
1515

_ja/overviews/macros/usecases.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Scala の商用ユーザと研究ユーザの両方がマクロを利用して
2020
ここ EPFL においても我々はマクロを活用して研究を行っている。Lightbend 社もマクロを数々のプロジェクトに採用している。
2121
マクロはコミュニティー内でも人気があり、既にいくつかの興味深い応用が現れている。
2222

23-
最近行われた講演の ["What Are Macros Good For?"](https://scalamacros.org/paperstalks/2014-02-04-WhatAreMacrosGoodFor.pdf) では Scala 2.10 ユーザのマクロの利用方法を説明し、システム化した。講演の大筋はマクロはコード生成、静的な検査、および DSL に有効であるということで、これを研究や産業からの例を交えながら説明した。
23+
最近行われた講演の ["What Are Macros Good For?"](https://github.com/scalamacros/scalamacros.github.com/blob/5904f7ef88a439c668204b4bf262835e89fb13cb/paperstalks/2014-02-04-WhatAreMacrosGoodFor.pdf) では Scala 2.10 ユーザのマクロの利用方法を説明し、システム化した。講演の大筋はマクロはコード生成、静的な検査、および DSL に有効であるということで、これを研究や産業からの例を交えながら説明した。
2424

25-
Scala'13 ワークショップにおいて ["Scala Macros: Let Our Powers Combine!"](https://scalamacros.org/paperstalks/2013-04-22-LetOurPowersCombine.pdf) という論文を発表した。これは Scala 2.10 における最先端のマクロ論をより学問的な視点から説明した。
25+
Scala'13 ワークショップにおいて ["Scala Macros: Let Our Powers Combine!"](https://github.com/scalamacros/scalamacros.github.com/blob/5904f7ef88a439c668204b4bf262835e89fb13cb/paperstalks/2013-04-22-LetOurPowersCombine.pdf) という論文を発表した。これは Scala 2.10 における最先端のマクロ論をより学問的な視点から説明した。
2626
この論文では Scala のリッチな構文と静的な型がマクロと相乗することを示し、また既存の言語機能をマクロによって新しい方法で活用できることを考察する。

_ja/overviews/reflection/overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Scala コンパイラが持つ型情報を全ては入手できない可能性
8181

8282
上の例では、まず `scala.reflect.runtime.universe` をインポートして
8383
(型タグを使うためには必ずインポートされる必要がある)、`l` という名前の `List[Int]` を作る。
84-
次に、context bound を持った型パラメータ `T` を持つ `getTypeTag` というメソッドは定義する
84+
次に、context bound を持った型パラメータ `T` を持つ `getTypeTag` というメソッドを定義する
8585
(REPL が示すとおり、これは暗黙の evidence パラメータを定義することに等価であり、コンパイラは `T` に対する型タグを生成する)。
8686
最後に、このメソッドに `l` を渡して呼び出し、`TypeTag` に格納される型を返す `tpe` を呼び出す。
8787
見ての通り、正しい完全な型 (つまり、`List` の具象型引数を含むということ) である `List[Int]` が返ってきた。

0 commit comments

Comments
 (0)