-
Latest Version
Scala 3.6.3 LATEST
-
Review by
-
Operating System
Windows 7 / Windows 8 / Windows 10 / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
scala3-3.6.3.msi
Scastie is Scala + sbt in your browser! You can use any version of the app, or even alternate backends such as Dotty, Scala.js, Scala Native, and Typelevel Scala. You can use any published library. You can save and share Scala programs/builds with anybody.
The Library Index (or Scaladex) is a representation of a map of all published libraries. With Scaladex, a developer can now query more than 175,000 releases of libraries. Scaladex is officially supported by Scala Center.
Features and Highlights
SEAMLESS JAVA INTEROP
It runs on the JVM, so Java and Scala stacks can be freely mixed for totally seamless integration.
TYPE INFERENCE
So the type system doesn’t feel so static. Don’t work for the type of system. Let the type of system work for you!
CONCURRENCY & DISTRIBUTION
Use data-parallel operations on collections, use actors for concurrency and distribution, or futures for asynchronous programming.
TRAITS
Combine the flexibility of Java-style interfaces with the power of classes. Think principled multiple-inheritance.
PATTERN MATCHING
Think “switch” on steroids. Match against class hierarchies, sequences, and more.
HIGHER-ORDER FUNCTIONS
Functions are first-class objects. Compose them with a guaranteed type of safety. Use them anywhere, pass them to anything.
Note: Make sure you have the Java JDK installed.
Also Available: Download Scala for Mac
What's new in this version:
Highlights of the release:
- Scala 2 forwardport: -Yprofile-trace
Other changes and fixes:
Annotations:
- Fix Java parsing of annotations on qualified types
- Consider all arguments in Annotations.refersToParamOf
Backend:
- Flag class file collision as error
Compiler Phases:
- Fix
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated
Experimental: Explicit Nulls:
- Improve warning for wildcard matching only null under the explicit nulls flag (scala#21577)
- Fix warning message for matching on redundant nulls
Experimental: Capture Checking:
- Fix
- Consolidate CC
- Add path support for capture checking
Experimentals:
- Replace symbol traversal with tree traversal when finding top level experimentals
Extension Methods:
- Nowarn extension matching nonpublic member
Implicits:
- Apply implicit conversion from derived Conversion instance defined as implicit rather than given
Imports:
- Allow imports nested in packagings to shadow
Inline:
- Avoid using the current denotation in NamedType.disambiguate
- Drop phase.isTyper use in isLegalPrefix/asf
- Fix for macro annotation that resolves macro-based implicit crashing the compiler
- Allow macro annotations to recover from suspension
Linting:
- Disallow open modifier on objects
- Allow discarding "Discarded non-Unit" warnings with : Unit
Opaque Types:
- Fix pkg obj prefix of opaque tp ext meth
Parser:
- Fix: don't consider into as a soft-modifier
Pattern Matching:
- Drop inaccessible subclasses from refineUsingParent
- (Re-)Drop inaccessible subclasses from refineUsingParent
- Fix use of class terms in match analysis
- Don't project nested wildcard patterns to nullable
- Fix provablyDisjoint handling enum constants with mixins
- Do not consider uninhabited constructors when performing exhaustive match checking
Presentation Compiler:
- Update mtags to 1.4.1 and backport remaining changes
- Backport changes for the presentation compiler from Metals
Pickling:
- Avoid orphan param from default arg
- Make sure definition tree has the defined symbol
REPL:
- Allow top-level opaque type definitions in REPL
- JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0)
Scaladoc:
- Fix scaladoc TastyInspector regressions
- Bring back the fix for scaladoc TastyInspector regressions
- Fix scaladoc graph highlight background color in dark mode
Standard Library:
- Combine cases of Tuple.Zip disjoint from (h1 *: t1, h2 *: t2)
Quotes:
- Fix
Reporting:
- Do not warn about expected missing positions in quotes.reflect.Symbol
- Add missing error messages to asserts in QuotesImpl
- Don't point to the compiler backlog when a compiler plugin phase crashes
- Better error message for polytypes wrapping capturing types
- Pretty-print lambdas
- Nowarn extension matching nonpublic member
- Refactor: Improve Given search preference warning
Runner:
- Fix: update scala-cli.jar path
Releases:
- Fix layout of released SDK archives, restore intermiediete top-level directory
Scala.js:
- Shade scalajs.ir under dotty.tools
SemanticDB:
- Extract semanticDB for lifted definitions
Transform:
- Fix enclosingClass from returning refinement classes
- Attempt to beta reduce only if parameters and arguments have same shape
- Drop copied parent refinements before generating bytecode
Tooling:
- Ensure to escape characters before constructing JSON profile trace
Tuples:
- Fix tupleTypeFromSeq for XXL tuples
Typer:
- Do not crash when typing a closure with unknown type, since it can occur for erroneous input
- Revert SAM condition to what it was before
- Fix ctx implicits under case unapplySeq
- Avoid erasure/preErasure issues around Any in transformIsInstanceOf
- OperaOpera 116.0 Build 5366.71 (64-bit)
- PC RepairPC Repair Tool 2025
- PhotoshopAdobe Photoshop CC 2025 26.3 (64-bit)
- OKXOKX - Buy Bitcoin or Ethereum
- iTop VPNiTop VPN 6.2.0 - Fast, Safe & Secure
- Premiere ProAdobe Premiere Pro CC 2025 25.1
- BlueStacksBlueStacks 10.41.656.1001
- Hero WarsHero Wars - Online Action Game
- TradingViewTradingView - Trusted by 60 Million Traders
- LockWiperiMyFone LockWiper (Android) 5.7.2
Comments and User Reviews