Have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher-order functions. Or anything in-between.
Learn More
click the boxes below to see Scala in action!
Scala runs on the JVM, so Java and Scala stacks can be freely mixed for totally seamless integration.
So the type system doesn’t feel so static. Don’t work for the type system. Let the type system work for you!
Use data-parallel operations on collections, use actors for concurrency and distribution, or futures for asynchronous programming.
Combine the flexibility of Java-style interfaces with the power of classes. Think principled multiple-inheritance.
Think “switch” on steroids. Match against class hierarchies, sequences, and more.
Functions are first-class objects. Compose them with guaranteed type safety. Use them anywhere, pass them to anything.
or visit the Scala Documentation
Last week, the Scala Center ran its first SIP meeting under the newly reformed SIP process, and we’re happy to report that several SIPs saw long-awaited decisions made, or received detailed feedback from the SIP committee!
In the new SIP process, each SIP is assigned a reviewer, who must be someone sitting on the SIP committee. The reviewer’s job is to carefully read and understand the SIP, and to present the SIP before the SIP committee. The reviewer must also present their analysis of the SIP to the committee, and then the floor is opened up for discussion on the SIP. An explicit goal of the new SIP process is for a decision and next steps to be determined for each SIP discussed.
The SIP committee went through five SIPs in the queue. Two new SIPs received a number, meaning they passed the first phase of acceptance – that is, the change to Scala is accepted in theory, so long as the the committee’s design and implementation concerns can be adequately addressed in subsequent discussions on the SIP. The two SIPs which received numbers (first-round accepted) include:
Two other passed their first iteration as proposed by the new process:
The final SIP discussed one was postponed at the request of the authors:
In the case of SIP-22, the authors will reopen it when they feel like taking up the proposal again, and addressing the issues they must look into next; in particular, figuring out how async/await can be used inside of a try/catch block.
Overall, we’re happy to report that progress was made on a number of SIPs in the queue. In particular, we’re excited that 2 SIPs received a first-phase of acceptance in receiving their numbers, and look forward to the addition of these proposals to Scala soon!
Next month, we will propose a reformed SLIP process focused on shaping this new notion of the Scala “platform,” with a completely new committee, consisting of Scala community members. Keep an eye out for developments on the Scala library front this August!
Did you know that each month, we conduct our SIP meetings on-air? You can tune in and ask questions to the SIP committee, and have them answered live! You can even watch past SIP meetings at any time!
Check out the full meeting minutes from the July 13 SIP meeting here, or watch the video of the meeting here.