|
1 | 1 |
|
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." |
4 | 25 | overviews:
|
5 | 26 | - title: Collections
|
6 | 27 | by: Martin Odersky
|
|
42 | 63 | url: "core/architecture-of-scala-collections.html"
|
43 | 64 | by: Martin Odersky and Lex Spoon
|
44 | 65 | 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 |
| - |
97 | 66 | - category: Parallel and Concurrent Programming
|
98 | 67 | description: "Complete guides covering some of Scala's libraries for parallel and concurrent programming."
|
99 | 68 | overviews:
|
|
124 | 93 | url: "parallel-collections/configuration.html"
|
125 | 94 | - title: Measuring Performance
|
126 | 95 | url: "parallel-collections/performance.html"
|
127 |
| - - title: The Scala Actors Migration Guide |
128 |
| - by: Vojin Jovanovic and Philipp Haller |
129 |
| - icon: truck |
130 |
| - url: "core/actors-migration-guide.html" |
131 |
| - description: "To ease the migration from Scala Actors to Akka we have provided the Actor Migration Kit (AMK). The AMK consists of an extension to Scala Actors which is enabled by including the scala-actors-migration.jar on a project’s classpath. In addition, Akka 2.1 includes features, such as the ActorDSL singleton, which enable a simpler conversion of code using Scala Actors to Akka. The purpose of this document is to guide users through the migration process and explain how to use the AMK." |
132 |
| - - title: The Scala Actors API |
133 |
| - by: Philipp Haller and Stephen Tu |
134 |
| - icon: users |
135 |
| - url: "core/actors.html" |
136 |
| - description: "This guide describes the API of the scala.actors package of Scala 2.8/2.9. The organization follows groups of types that logically belong together. The trait hierarchy is taken into account to structure the individual sections. The focus is on the run-time behavior of the various methods that these traits define, thereby complementing the existing Scaladoc-based API documentation." |
137 |
| - label-color: "#899295" |
138 |
| - label-text: deprecated |
| 96 | + |
| 97 | +- category: Compatibility |
| 98 | + description: "What works with what (or doesn't)." |
| 99 | + overviews: |
| 100 | + - title: JDK Version Compatibility |
| 101 | + description: "Which Scala versions work on what JDK versions" |
| 102 | + icon: coffee |
| 103 | + url: "jdk-compatibility/overview.html" |
| 104 | + - title: Binary Compatibility of Scala Releases |
| 105 | + 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." |
| 106 | + icon: puzzle-piece |
| 107 | + url: "core/binary-compatibility-of-scala-releases.html" |
| 108 | + - title: Binary Compatibility for Library Authors |
| 109 | + 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." |
| 110 | + icon: puzzle-piece |
| 111 | + url: "core/binary-compatibility-for-library-authors.html" |
| 112 | + |
| 113 | +- category: "Tools" |
| 114 | + description: "Reference material on core Scala tools like the Scala REPL and Scaladoc generation." |
| 115 | + overviews: |
| 116 | + - title: Scala REPL |
| 117 | + icon: terminal |
| 118 | + url: "repl/overview.html" |
| 119 | + description: | |
| 120 | + The Scala REPL is a tool (<code>scala</code>) for evaluating expressions in Scala. |
| 121 | + <br><br> |
| 122 | + The <code>scala</code> command will execute a source script by wrapping it in a template and then compiling and executing the resulting program |
| 123 | + - title: Scaladoc |
| 124 | + url: "scaladoc/overview.html" |
| 125 | + icon: book |
| 126 | + description: "Scala's API documentation generation tool." |
| 127 | + subdocs: |
| 128 | + - title: Overview |
| 129 | + url: "scaladoc/overview.html" |
| 130 | + - title: Scaladoc for Library Authors |
| 131 | + url: "scaladoc/for-library-authors.html" |
| 132 | + - title: Using the Scaladoc Interface |
| 133 | + url: "scaladoc/interface.html" |
139 | 134 |
|
140 | 135 | - category: Compiler
|
141 | 136 | description: "Guides and overviews covering the Scala compiler: compiler plugins, reflection, and metaprogramming tools such as macros."
|
|
0 commit comments