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-42 - Support Binary Integer Literals
Stage: ImplementationStatus: Waiting for Implementation
-
SIP-47 - Clause Interleaving
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-43 - Pattern matching with named fields
Stage: DesignStatus: Under Review
-
SIP-49 - Polymorphic Eta-Expansion
Stage: ImplementationStatus: Waiting for Implementation
-
SIP-56 - Proper Specification for Match Types.
Stage: DesignStatus: Under Review
-
SIP-53 - Quote pattern explicit type variable syntax
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-31 - Byname implicit arguments
Shipped
-
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
-
SID-5 - Internals of Scala Annotations
Shipped
-
SIP-37 - Quote escapes for interpolations
Shipped
-
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-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-20 - Improved Lazy Vals Initialization
- SIP-34 - Improving binary compatibility with @stableABI
- SIP-28 - Inline meta
- 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