@@ -45,11 +45,11 @@ which indicates the Typelevel feature level beyond the baseline compiler. We are
45
45
Typelevel features across the Scala compiler versions we support.
46
46
47
47
The current Typelevel feature level is 4 and it is avaliable as a drop in replacement for Lightbend Scala 2.11.11 and
48
- 2.12.2 . Full release notes are available,
48
+ 2.12.3 . Full release notes are available,
49
49
50
- + Typelevel Scala 4 [ 2.12.2 /2.11.11] ( https://github.com/typelevel/scala/blob/typelevel-readme/notes/typelevel-4.md ) .
50
+ + Typelevel Scala 4 [ 2.12.3 /2.11.11] ( https://github.com/typelevel/scala/blob/typelevel-readme/notes/typelevel-4.md ) .
51
51
52
- Support for Scala 2.13.0-M1 will be added in due course. Support for Scala 2.10.6 will be considered if sponsors step
52
+ Support for Scala 2.13.0-M2 will be added in due course. Support for Scala 2.10.6 will be considered if sponsors step
53
53
forward to support the necessary work.
54
54
55
55
## Should I use Typelevel Scala? In production?
@@ -78,42 +78,41 @@ relevant to practitioners.
78
78
79
79
## Try Typelevel Scala with an Ammonite instant REPL
80
80
81
- The quickest way to get to a Typelevel Scala 2.12.2 REPL path is to run the provided
81
+ The quickest way to get to a Typelevel Scala 2.12.3 REPL path is to run the provided
82
82
[ "try Typelevel Scala"] [ try-tls ] script, which has no dependencies other than an installed JDK. This script
83
83
downloads and installs [ coursier] [ coursier ] and uses it to fetch the [ Ammonite] [ ammonite ] REPL and Typelevel Scala
84
- 2.12.2 . It then drops you immediately into a REPL session,
84
+ 2.12.3 . It then drops you immediately into a REPL session,
85
85
86
86
``` text
87
87
% curl -s https://raw.githubusercontent.com/typelevel/scala/typelevel-readme/try-typelevel-scala.sh | bash
88
88
Loading...
89
- Compiling replBridge.sc
90
- Compiling interpBridge.sc
91
- Compiling HardcodedPredef.sc
92
- Compiling ArgsPredef.sc
93
- Compiling predef.sc
94
- Compiling SharedPredef.sc
95
- Compiling LoadedPredef.sc
96
- Welcome to the Ammonite Repl 0.8.4
97
- (Scala 2.12.2-bin-typelevel-4 Java 1.8.0_131)
89
+ Compiling (synthetic)/ammonite/predef/interpBridge.sc
90
+ Compiling (synthetic)/ammonite/predef/replBridge.sc
91
+ Compiling (synthetic)/ammonite/predef/DefaultPredef.sc
92
+ Welcome to the Ammonite Repl 1.0.1
93
+ (Scala 2.12.3-bin-typelevel-4 Java 1.8.0_144)
98
94
If you like Ammonite, please support our development at www.patreon.com/lihaoyi
99
- @
100
95
@ repl.compiler.settings.YliteralTypes.value = true
101
96
97
+
102
98
@ trait Cond[T] { type V ; val value: V }
103
99
defined trait Cond
104
- @
100
+
105
101
@ implicit val condTrue = new Cond[true] { type V = String ; val value = "foo" }
106
- condTrue: AnyRef with Cond[true]{type V = String} = $sess.cmd2$$anon$1@4fef2259
102
+ condTrue: AnyRef with Cond[true]{type V = String} = ammonite.$sess.cmd2$$anon$1@696a6506
103
+
107
104
@ implicit val condFalse = new Cond[false] { type V = Int ; val value = 23 }
108
- condFalse: AnyRef with Cond[false]{type V = Int} = $sess.cmd3$$anon$1@463887f6
109
- @
105
+ condFalse: AnyRef with Cond[false]{type V = Int} = ammonite. $sess.cmd3$$anon$1@461e9b31
106
+
110
107
@ def cond[T](implicit cond: Cond[T]): cond.V = cond.value
111
108
defined function cond
112
- @
109
+
113
110
@ cond[true] : String
114
111
res5: String = "foo"
112
+
115
113
@ cond[false] : Int
116
114
res6: Int = 23
115
+
117
116
@ Bye!
118
117
%
119
118
```
@@ -126,7 +125,7 @@ res6: Int = 23
126
125
127
126
Requirements for using Typelevel Scala in your existing projects,
128
127
129
- + You must be using Lightbend Scala 2.12.2 or 2.11.11.
128
+ + You must be using Lightbend Scala 2.12.3 or 2.11.11.
130
129
+ You must be using SBT 0.13.13 or later.
131
130
+ Your build should use ` scalaOrganization.value ` and ` CrossVersion.patch ` appropriately.
132
131
@@ -138,15 +137,15 @@ Requirements for using Typelevel Scala in your existing projects,
138
137
```
139
138
inThisBuild(Seq(
140
139
organization := "com.chuusai",
141
- scalaVersion := "2.12.2 ",
142
- crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.2 ", "2.13.0-M1")
140
+ scalaVersion := "2.12.3 ",
141
+ crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.3 ", "2.13.0-M1")
143
142
))
144
143
```
145
144
146
145
You can now temporarily build with Typelevel Scala by entering,
147
146
148
147
```
149
- > ; set every scalaOrganization := "org.typelevel" ; ++2.12.2 -bin-typelevel-4
148
+ > ; set every scalaOrganization := "org.typelevel" ; ++2.12.3 -bin-typelevel-4
150
149
```
151
150
152
151
on the SBT REPL.
@@ -156,7 +155,7 @@ To switch your project permanently to Typelevel Scala 4 update your `build.sbt`
156
155
```
157
156
inThisBuild(Seq(
158
157
scalaOrganization := "org.typelevel"
159
- scalaVersion := "2.12.2 -bin-typelevel-4"
158
+ scalaVersion := "2.12.3 -bin-typelevel-4"
160
159
))
161
160
```
162
161
@@ -180,7 +179,7 @@ of the Lightbend one. You can verify that the settings have been updated correct
180
179
> show scalaOrganization
181
180
[info] org.typelevel
182
181
> show scalaVersion
183
- [info] 2.12.2 -bin-typelevel-4
182
+ [info] 2.12.3 -bin-typelevel-4
184
183
```
185
184
186
185
[ build-tweaks-1 ] : https://github.com/typelevel/scala/issues/135
@@ -197,7 +196,7 @@ If you are using maven with the `scala-maven-plugin`, set the `<scalaOrganizatio
197
196
<version>3.2.1</version>
198
197
<configuration>
199
198
<scalaOrganization>org.typelevel</scalaOrganization>
200
- <scalaVersion>2.12.2 -bin-typelevel-4</scalaOrganization>
199
+ <scalaVersion>2.12.3 -bin-typelevel-4</scalaOrganization>
201
200
</configuration>
202
201
</plugin>
203
202
```
0 commit comments