Skip to content

Commit f5d84cd

Browse files
committed
reorganize Overviews page
* split "Core Scala" into "Language" and "Standard Library" * make a new "Compatibility" section
1 parent bd928eb commit f5d84cd

File tree

1 file changed

+61
-54
lines changed

1 file changed

+61
-54
lines changed

_data/overviews.yml

Lines changed: 61 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11

2-
- category: Core Scala
3-
description: "Guides and overviews covering central libraries in the Scala standard library, core language features, and more."
2+
- category: Language
3+
description: "Guides and overviews covering features in the Scala language."
4+
overviews:
5+
- title: String Interpolation
6+
icon: usd
7+
url: "core/string-interpolation.html"
8+
description: >
9+
String Interpolation allows users to embed variable references directly in processed string literals. Here’s an example:
10+
<pre><code>val name = "James"
11+
println(s"Hello, $name") // Hello, James</code></pre>
12+
In the above, the literal <code>s"Hello, $name"</code> is a processed string literal. This means that the compiler does some additional work to this literal. A processed string literal is denoted by a set of characters preceding the ". String interpolation was introduced by SIP-11, which contains all details of the implementation.
13+
- title: Implicit Classes
14+
by: Josh Suereth
15+
description: "Scala 2.10 introduced a new feature called implicit classes. An implicit class is a class marked with the implicit keyword. This keyword makes the class’ primary constructor available for implicit conversions when the class is in scope."
16+
url: "core/implicit-classes.html"
17+
- title: Value Classes and Universal Traits
18+
by: Mark Harrah
19+
description: "Value classes are a new mechanism in Scala to avoid allocating runtime objects. This is accomplished through the definition of new AnyVal subclasses."
20+
icon: diamond
21+
url: "core/value-classes.html"
22+
23+
- category: Standard Library
24+
description: "Guides and overviews covering the Scala standard library."
425
overviews:
526
- title: Collections
627
by: Martin Odersky
@@ -42,58 +63,6 @@
4263
url: "core/architecture-of-scala-collections.html"
4364
by: Martin Odersky and Lex Spoon
4465
description: "These pages describe the architecture of the Scala collections framework in detail. Compared to the Collections API you will find out more about the internal workings of the framework. You will also learn how this architecture helps you define your own collections in a few lines of code, while reusing the overwhelming part of collection functionality from the framework."
45-
- title: String Interpolation
46-
icon: usd
47-
url: "core/string-interpolation.html"
48-
description: >
49-
String Interpolation allows users to embed variable references directly in processed string literals. Here’s an example:
50-
<pre><code>val name = "James"
51-
println(s"Hello, $name") // Hello, James</code></pre>
52-
In the above, the literal <code>s"Hello, $name"</code> is a processed string literal. This means that the compiler does some additional work to this literal. A processed string literal is denoted by a set of characters preceding the ". String interpolation was introduced by SIP-11, which contains all details of the implementation.
53-
- title: Implicit Classes
54-
by: Josh Suereth
55-
description: "Scala 2.10 introduced a new feature called implicit classes. An implicit class is a class marked with the implicit keyword. This keyword makes the class’ primary constructor available for implicit conversions when the class is in scope."
56-
url: "core/implicit-classes.html"
57-
- title: Value Classes and Universal Traits
58-
by: Mark Harrah
59-
description: "Value classes are a new mechanism in Scala to avoid allocating runtime objects. This is accomplished through the definition of new AnyVal subclasses."
60-
icon: diamond
61-
url: "core/value-classes.html"
62-
- title: Binary Compatibility of Scala Releases
63-
description: "When two versions of Scala are binary compatible, it is safe to compile your project on one Scala version and link against another Scala version at run time. Safe run-time linkage (only!) means that the JVM does not throw a (subclass of) LinkageError when executing your program in the mixed scenario, assuming that none arise when compiling and running on the same version of Scala. Concretely, this means you may have external dependencies on your run-time classpath that use a different version of Scala than the one you’re compiling with, as long as they’re binary compatible. In other words, separate compilation on different binary compatible versions does not introduce problems compared to compiling and running everything on the same version of Scala."
64-
icon: puzzle-piece
65-
url: "core/binary-compatibility-of-scala-releases.html"
66-
- title: Binary Compatibility for Library Authors
67-
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."
68-
icon: puzzle-piece
69-
url: "core/binary-compatibility-for-library-authors.html"
70-
71-
- category: "Reference/Documentation"
72-
description: "Reference material on core Scala tools like Scaladoc and the Scala REPL."
73-
overviews:
74-
- title: Scaladoc
75-
url: "scaladoc/overview.html"
76-
icon: book
77-
description: "Scala's API documentation generation tool."
78-
subdocs:
79-
- title: Overview
80-
url: "scaladoc/overview.html"
81-
- title: Scaladoc for Library Authors
82-
url: "scaladoc/for-library-authors.html"
83-
- title: Using the Scaladoc Interface
84-
url: "scaladoc/interface.html"
85-
- title: Scala REPL
86-
icon: terminal
87-
url: "repl/overview.html"
88-
description: |
89-
The Scala REPL is a tool (<code>scala</code>) for evaluating expressions in Scala.
90-
<br><br>
91-
The <code>scala</code> command will execute a source script by wrapping it in a template and then compiling and executing the resulting program
92-
- title: JDK Version Compatibility
93-
icon: coffee
94-
url: "jdk-compatibility/overview.html"
95-
description: "Which Scala versions work on what JDK versions"
96-
9766
- category: Parallel and Concurrent Programming
9867
description: "Complete guides covering some of Scala's libraries for parallel and concurrent programming."
9968
overviews:
@@ -137,6 +106,44 @@
137106
label-color: "#899295"
138107
label-text: deprecated
139108

109+
- category: Compatibility
110+
description: "What works with what (or doesn't)."
111+
overviews:
112+
- title: JDK Version Compatibility
113+
description: "Which Scala versions work on what JDK versions"
114+
icon: coffee
115+
url: "jdk-compatibility/overview.html"
116+
- title: Binary Compatibility of Scala Releases
117+
description: "When two versions of Scala are binary compatible, it is safe to compile your project on one Scala version and link against another Scala version at run time. Safe run-time linkage (only!) means that the JVM does not throw a (subclass of) LinkageError when executing your program in the mixed scenario, assuming that none arise when compiling and running on the same version of Scala. Concretely, this means you may have external dependencies on your run-time classpath that use a different version of Scala than the one you’re compiling with, as long as they’re binary compatible. In other words, separate compilation on different binary compatible versions does not introduce problems compared to compiling and running everything on the same version of Scala."
118+
icon: puzzle-piece
119+
url: "core/binary-compatibility-of-scala-releases.html"
120+
- title: Binary Compatibility for Library Authors
121+
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."
122+
icon: puzzle-piece
123+
url: "core/binary-compatibility-for-library-authors.html"
124+
125+
- category: "Tools"
126+
description: "Reference material on core Scala tools like the Scala REPL and Scaladoc generation."
127+
overviews:
128+
- title: Scala REPL
129+
icon: terminal
130+
url: "repl/overview.html"
131+
description: |
132+
The Scala REPL is a tool (<code>scala</code>) for evaluating expressions in Scala.
133+
<br><br>
134+
The <code>scala</code> command will execute a source script by wrapping it in a template and then compiling and executing the resulting program
135+
- title: Scaladoc
136+
url: "scaladoc/overview.html"
137+
icon: book
138+
description: "Scala's API documentation generation tool."
139+
subdocs:
140+
- title: Overview
141+
url: "scaladoc/overview.html"
142+
- title: Scaladoc for Library Authors
143+
url: "scaladoc/for-library-authors.html"
144+
- title: Using the Scaladoc Interface
145+
url: "scaladoc/interface.html"
146+
140147
- category: Compiler
141148
description: "Guides and overviews covering the Scala compiler: compiler plugins, reflection, and metaprogramming tools such as macros."
142149
overviews:

0 commit comments

Comments
 (0)