Pre-SIP Discussions
You can find so-called “pre-SIP discussions” in the Scala Contributors forum, under the category Scala Improvement Process. The goal of pre-SIP discussions is to gather initial community feedback and support.
Pending SIPs
Proposals that are at the design or implementation stage, and that are actively discussed by the committee and the proposals’ authors. Click on a proposal to read its content, or the corresponding discussions on GitHub if its design has not been accepted yet.
-
SIP-60 - Bind variables within alternative patterns
Stage: ImplementationStatus: Waiting for Implementation
-
SIP-62 - For comprehension improvements
Stage: ImplementationStatus: Under Review
-
SIP-52 - Binary APIs
Stage: ImplementationStatus: Under Review
-
SIP-55 - Concurrency with Higher-Order Coroutines
Stage: DesignStatus: Under Review
-
SIP-51 - Drop Forwards Binary Compatibility of the Scala 2.13 Standard Library
Stage: ImplementationStatus: Under Review
-
SIP-66 - Implicit macro conversions
Stage: DesignStatus: Under Review
-
SIP-59 - Multiple Assignments
Stage: ImplementationStatus: Under Review
-
SIP-58 - Named Tuples
Stage: ImplementationStatus: Under Review
-
SIP-49 - Polymorphic Eta-Expansion
Stage: ImplementationStatus: Waiting for Implementation
-
SIP-57 - Replace non-sensical @unchecked annotations
Stage: ImplementationStatus: Under Review
-
SIP-63 - Scala 3 Macro Annotations
Stage: DesignStatus: Under Review
-
SIP-64 - Improve Syntax for Context Bounds and Givens
Stage: ImplementationStatus: Under Review
-
SIP-61 - Unroll Default Arguments for Binary Compatibility
Stage: ImplementationStatus: Waiting for Implementation
Completed SIPs
Proposals that have been implemented in the compiler and that are available as a stable feature of the compiler (shipped), or that will be available in the next minor release of the compiler (accepted). Click on a proposal to read its content.
-
SIP-23 - Literal-based singleton types
Shipped
-
SIP-42 - Support Binary Integer Literals
Shipped
-
SIP-31 - Byname implicit arguments
Shipped
-
SIP-47 - Clause Interleaving
Accepted
-
SIP-38 - Converters among optional Functions, PartialFunctions and extractor objects
Shipped
-
SID-4 - Early Member Definitions
Shipped
-
SIP-44 - Fewer Braces
Accepted
-
SIP-14 - Futures and Promises
Shipped
-
SIP-13 - Implicit classes
Shipped
-
SIP-20 - Improved Lazy Vals Initialization
Shipped
-
SID-5 - Internals of Scala Annotations
Shipped
-
SIP-37 - Quote escapes for interpolations
Shipped
-
SIP-56 - Proper Specification for Match Types
Accepted
-
SIP-18 - Modularizing Language Features
Shipped
-
SIP-54 - Multi-Source Extension Overloads
Accepted
-
SID-1 Named and Default Arguments
Shipped
-
SID-3 - New Collection classes
Shipped
-
SIP-35 - Opaque types
Shipped
-
SID-10 - Storage of pickled Scala signatures in class files
Shipped
-
SIP-33 - Priority-based infix type precedence
Shipped
-
SIP-53 - Quote pattern explicit type variable syntax
Shipped
-
SIP-39 - Right-Associative By-Name Operators
Shipped
-
SID-7 - Scala 2.8 Arrays
Shipped
-
SIP-46 - Scala CLI as default Scala command
Accepted
-
SID-2 Scala Compiler Phase and Plug-In Initialization for Scala 2.8
Shipped
-
SID-9 - Scala Specialization
Shipped
-
SID-8 - Scala Swing Overview
Shipped
-
SIP-30 - @static fields and methods in Scala objects (SI-4581)
Shipped
-
SIP-11 - String Interpolation
Shipped
-
SIP-27 - Trailing Commas
Shipped
-
SIP-25 - Trait Parameters
Shipped
-
SIP-17 - Type Dynamic
Shipped
-
SIP-15 - Value Classes
Shipped
Rejected SIPs
Proposals that have been rejected by the committee. Click on a proposal to read the corresponding discussions on GitHub.
- SIP-32 - Allow referring to other arguments in default parameters
- SIP-NN - comonadic-comprehensions
- SIP-45 - Curried varargs
- SIP-19 - Implicit Source Locations
- SIP-40 - Name Based XML Literals
- SIP-16 - Self-cleaning Macros
- SIP-39 - Uncluttering Abuse of Match
- SIP-12 - Uncluttering Scala’s syntax for control structures.
- SIP-26 - Unsigned Integers
Withdrawn SIPs
Proposals that have been withdrawn by their authors. Click on a proposal to read the corresponding discussions on GitHub.
- SIP-36 - Adding prefix types
- SIP-22 - Async
- SIP-34 - Improving binary compatibility with @stableABI
- SIP-28 - Inline meta
- SIP-43 - Pattern matching with named fields
- SIP-48 - Precise Type Modifier
- SIP-24 - Repeated By Name Parameters
- SIP-41 - Sealed Types
- SIP-21 - Spores
- SIP-50 - Struct Classes
- SIP-52 - Wildcard context bounds