Functional Roundup for April 29, 2016

Functional Roundup for April 29, 2016

SI-2712 fix plugin

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

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:

  • Remove Streaming and StreamingT, issue #858
  • product and map can be implemented in terms of ap, issue #967
  • Renamed Kleisli#apply to 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 Veners joins the Scala Center Board

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.

Bill is requesting that community members wishing to provide input email him at scala-center-input@artima.com, those who want to publically provide input can do so at the Scala Center Gitter Channel.

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


Scala Native Teased

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.

If you will be at Scala Days NYC, Denys will be speaking about Scala Native on Wednesday, May 11th at 1:30 PM. Otherwise, stay tuned to @47deg and the 47 Degrees blog for live updates from the event.


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:

Raul Raja:

  • 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:


Jon Pretty:

  • 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:


Christopher Hunt:

  • Managing Microservices in Production with Lagom
  • Webinar

Christopher Hunt hosted a webinar about Lagom and managing microservices in production. This presentation is aimed at Operations and Architects.

View the webinar here:


Have a news tip for us? Tweet to us @47deg or send to us via email here.

blog comments powered by Disqus

Ensure the success of your project

47 Degrees can work with you to help manage the risks of technology evolution, develop a team of top-tier engaged developers, improve productivity, lower maintenance cost, increase hardware utilization, and improve product quality; all while using the best technologies.