The Scala Programming Language for your Windows PC

Scala

Scala 3.8.2

  -  91.1 MB  -  Open Source
  • Latest Version

    Scala 3.8.3

  • Operating System

    Windows 7 / Windows 8 / Windows 10 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    Scala Team / External Link

  • Filename

    scala3-3.8.2.msi

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Scala 3.8.2.


For those interested in downloading the most recent release of Scala or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

Why is this app published on FileHorse? (More info)
  • Scala 3.8.2 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Scala 3.8.2 Screenshot 1

What's new in this version:

Highlights of the release:
- Warn if for with many vals and overloaded map
- Support :dep ... to add library dependencies in the Scala REPL
- Upgrade to Scala.js 1.20.2.

Bump Scala CLI to v1.12.2 (was 1.11.0)
- New aliases for RC and nightly Scala versions
- Detailed changelog available in scala-cli release notes for versions: v1.12.0, v1.12.1 and v1.12.2

Other changes and fixes:
Context Functions:
- Inferred Contextual params are less nameable

Desugaring:
- A comprehension with valdef aliases is never a candidate for map elimination

Experimental: Capture Checking:
- Capture Checking of Lazy Vals
- Represent read-only with a classifier
- Fix typing closure blocks where result type refers to a closure parameter
- Systematically recompute denotations when needed in rechecker phases
- Ensure that read-only methods don't use exclusive capabilities
- Handle capture parameters in dcs
- Don't prematurely force info of fields with inferred types
- Disallow fresh caps from parameter bounds in results
- Avoid box failures and better diagnosis if they come back
- Freshen all explicit arguments of type applications
- Optimize and harden isCaptureChecking tests
- Add Unscoped classifier
- Optimization: Introduce CompactAnnotation

Experimental: Seperation Checking:
- Changes to Mutable
- Don't crash when update is used as a modifier outside cc
- Imply update only for consume methods in Mutable classes
- Decompose Mutable
- Add freeze wrapper (2)
- Make Arrays mutable types under separation checking

Experimental: Explcit Nulls:
- Relax flow typing checks on Flexible Types
- Do not expose flexible types
- Do not search contextual function type in union types in general
- Add jspecify NonNull annotation to NotNullAnnots list
- Recognize Nullable annotations in explicit nulls

Experimental: Global Initialization:
- Global object init checker gives warning when accessing an object before its super constructor finishes

Annotations:
- Accommodate adapted Scala 2 annotation value
- Harden Annotation.refersToParamOf
- Do not allow @targetName on primary constructor too

Coverage:
- Fix issues with Scala.js and coverage
- Make coverage support incremental compilation
- Improvement: Try to optimize coverage phase

Enums:
- Lint enum case in outer context

Exports:
- Preserve select of exported member in newExpr

Erasure:
- Fix isJvmAccessible to handle nested protected Java classes

Inline:
- Allow references to erased values in types
- Cast inline call results to result type, not method type
- Fix "Compiler crash when calling another file's inline def that uses a private constructor"

Implicits:
- Avoid more constraints in result if trying views

Initialization:
- Skip caret when source is missing in initialization checker

JVM Backend:
- Preserve singleton types for final val aliases to Java enum constants

Linting:
- Suppression matches inlined positions
- Wshadow option recognizes Wall

Nullability:
- Record NotNullInfo for exceptional try-catch

Overloading:
- Ignore selection prototypes when typing type applications
- Fix varargs overload resolution with wildcard types
- Fix override checking for Java methods with covariant array

Parser:
- Permit new with trivial end
- Single line case lambda gets a region
- Error tree on outdent is zero extent

Pattern Matching:
- Fix false exhaustivity for GADT under separate compilation

Presentation Compiler:
- Create extension method in infer method action
- Exclude XRayModeHint for synthetics
- Fix incorrect XRay hint
- Improve multi-line code message rendering

Improvement: Allow passing -explain to the presentation compiler
- Handle inlined tree in implicit parameter inlay hints

REPL:
- Improve REPL code, echo and exception highlighting with pprint and fansi
- Replace REPL signal handling with raw mode jline terminal to make Ctrl-C handling work when REPL is a child process
- Fix "Colon as operator part at beginning of line in REPL"
- Fix "REPL dependency on scala-parallel-collections doesn't work"
- Fix "Still can't use scala-parallel-collections in REPL via :dep"

Reporting:
- Addendum when apply error involves default arg
- Forward reference error includes line numbers
- Improve error messages for scope extrusion errors
- Use a better span for an anonymous class
- Add ErrorMessageID to -Winfer-union warnings (#25073)

Scaladoc:
- Allow to additional scalacOptions in Markdown code snippets

Standard Library:
- Enable capture checking on Tuple
- Update StringOps.padTo implementation
- Use String.repeat in scala.io.Source
- Ensure stability of IArray.tapEach

TASTy:
- Pickle CompactAnnotations as regular annotations
- Drop spurious applies in unpickler and inliner

Transform:
- Adjust purity of trait with lazy member

Tuples:
- Fix inconsistent typeSize calculation for TupleN vs recursive pair encodings

Typer:
- Dealias type of type constructor in typedAppliedTypeTree
- Improve TypeVar instantiation logic
- Try to instantiate TypeVars inside pt when possible
- Error instead of crash when generating trees referring to skolems
- Try to fix callee type inference in typedFunctionValue
- Fix wildcardArgOK for mixed wildcard/concrete type args

Union types:
- Dealias in isSimpleThrowable check

Value class:
- Avoid NPE when calling hashCode on a value class wrapping null

Quotes:
- Make quotes.reflect.Position.ofMacroExpansion consider -Ymagic-offset-header