Functional Roundup for April 29, 2016
Miles Sabin submits proof of concept for SI-2712 fix plugin
On April 15th, Miles Sabin, co-founder of Typelevel and partner at Underscore.io, submitted a pull request that provided a fix to the long-feared SI-2712 in Scala.
“Astonishingly this is a simple syntactic restriction. On removing the restriction in the parser all call sites are interpreted exactly as one would hope. I considered enforcing the presence of the implicit keyword in each follow-on parameter block, but that seems to only add syntactic noise. This change is binary compatible in both directions, and all previously legal programs have the same meaning. The benefit is that in many circumstances the Aux pattern becomes unnecessary.”
If the Pull Request is merged and the restriction is lifted, this could simplify and reduce the boilerplate in many cases when someone is trying to resolve dependent types from existing implicit evidence in the scope of their code.
Sabin also created a repository for a demo project exercising the proposed fix for SI-2712.
While it is too late in the process to push this in Scala 2.12, Sabin released a proof of concept on Thursday, April 28th in which the fix for SI-2712 could be implemented as a compiler plugin for Scala 2.11.8.
You can follow along with the initial PR conversation here: Add support for multiple trailing implicit parameter lists
New Version of Cats library released
On Thursday, April 28th, Version 0.5.0 of the Cats library was released.
The release included a few API changes:
StreamingT, issue #858
mapcan be implemented in terms of
ap, issue #967
ap, issue #970
The latest version also included scores of additions, bug fixes, a removal, and improvements to the documentation, tutorials, and laws and tests.
You can view more about the latest release here: Cats Version 0.5.0 released!
Bill Venners appointed as Community Representative on the Scala Center Advisory Board
One of the main missions of the Scala Center is to independently guide and support the Scala community. In order to do this effectively, the founding documents allotted for a “community representative” to sit on the board to act as the voice for the entire community.
Today, it was announced that Bill Venners has accepted the appointment to serve as the community representative. Bill is best known as the author of the ScalaTest testing framework and co-author of the Programming in Scala book, the 3rd edition of which starts shipping next week. He also frequently speaks at Scala conferences, develops the Scalactic library, and offers training through Artima and Escalate Software.
The first Scala Center Advisory Board meeting will be held at Scala Days NYC where Venners will join delegates from IBM, Verizon, Goldman-Sachs, Lightbend, Nitro, and Raúl Raja representing 47 Degrees.
You can view more about this story here: Scala Center appoints Bill Venners
The EPFL teases Scala Native
The EPFL research lab has hinted at changes coming towards the Scala language. If you visit ScalaNative.org you’ll find an ominous greyscale page with the message, “Your favorite language gets closer to bare metal.”
Denys Shabalin, a research assistant at LAMP/EPFL who has previously worked on off-head memory, quasiquotes, and macros for Scala will apparently reveal the secret behind bare metal at Scala Days NYC in May.
He describes, “Scala has historically been a JVM-centric programming language. The situation has started to change with appearance of the Scala.js that opened a door of front-end development to Scala programmers. This talk will expand the horizons of Scala even more. We’re going to announce a new ahead-of-time compiler and lightweight managed runtime designed specifically for Scala.
Suggested information to digest this weekend:
The functional programming community has no shortage of excellent conferences and talks. Here are just a few that were recently released that we recommend checking out if you missed them the first time:
- Scala Exercises V.2.
- Typelevel Summit Philadelphia
Raúl Raja describes what’s next for Version 2 of Scala Exercises, including new exercises for the stdlib, Cats, Shapeless, and other well-known libraries and frameworks of the Scala ecosystem. The video is now available!
Watch the video here:
- Type Members vs Type Parameters
- NE Scala 2016
Scala’s type system offers generics in two ways: type members and type parameters. Jon Pretty covers the most important considerations when choosing between the two and whether or not the two are interchangeable, or whether certain scenarios force us down one path or the other.
View the video here:
- Managing Microservices in Production with Lagom
Christopher Hunt hosted a webinar about Lagom and managing microservices in production. This presentation is aimed at Operations and Architects.
View the webinar here: