47 Degrees joins forces with Xebia read more

Functional Roundup for September 19, 2016

Functional Roundup for September 19, 2016

Scala 2.12.0-RC1

Scala 2.12.0-RC1

On September 13th, @Scala_Lang announced the availability of Scala 2.12.0-RC1.

The following are amoung the notable changes according to the official announcement:

  • 5135 - Either is now right-biased.
  • SI_4826 - Scaladoc now supports doc comments in Java sources.
  • SI-7187 - Eta-expansion of zero-argument method values is now deprecated.
  • 5307 - Reduced interference from SAMs when inferring function types in the presence of overload
  • 5141 & 5294- Refactoring of def, val, and lazy val handling, fixing assorted corner cases and inconsistencies.
  • 5311 - Scala is now built with sbt instead of Ant (affects only contributors, not users).

In summary, this pre-release merged 82 pull requests by contributors, has a few known issues, and is not binary compatible with any other Scala version.

You can view the rest of the changes here: Scala 2.12.0-RC1 is now available.

Functional Streams

Functional Streams for Scala 0.9 Released

Fs2 - Functional Streams for Scala 0.9 has been released according to Paul Chiusano and Michael Pilquist.

The following have been noted as highlights:

  • More expressive stream transformation primitives.
  • Chunking now baked into the library along with support for working with unboxed chunks of primitives.
  • Library is no longer reliant on Task and users can bring their own effect types.
  • The async package has been generalized to work with any effect type with an Async instance. Added Semaphore, an asynchronous semaphore, used as a concurrency primitive in various places.
  • There are now separate bindings to both the scalaz and cats libraries.

You can view the rest of the changes here: FS2: Functional Streams for Scala 0.9 Official Release Announcement. __


ScalaFiddle unleashed at Scala World

During his Scala World presentation, Otto Chrons released Scala Fiddle.

ScalaFiddle is referred to as an online playground where you can write Scala code, compile, and run it with a preview in a side panel. The welcome panel also contains a few examples to get your creative juices flowing.

Another cool feature is privacy! All code created is encrypted through an AES 128-bit encryption and stored in the database - that means your code is visible to only those you choose to give the url to.

You can get started creating your first Fiddle here: ScalaFiddle.

sbt 0.13.13-RC1

sbt 0.13.13-RC1 released

On Friday, September 16th, the latest pre-release for sbt 0.13.13-RC1 was announced. It’s serving as a technology preview of what’s in store for sbt 1.0.

Notable additions according to Eugene Yokota are:

  • 2705 - The new command, which helps creating new build definitions. This is extensible via templateResolvers setting and sbt 0.13.13 will ship with Giter8 support out of the box.
  • 2717 - Auto plugins can add synthetic subprojects.
  • 2716 - The no-longer-documented operators <<=, <+=, and <++= are now marked deprecated. (These are removed in 1.0.x branch.)
  • 2709 - The .value method is deprecated for input tasks since .evaluated is normally what’s needed. (Also removed in 1.0.x branch)
  • 2742 - Renames the early command --<command> that was added in 0.13.1 to early(<command>). --error will work, but we encourage you to migrate to single hyphen version: -error, -warn, -info, and -debug.

This lastest release features 34 (non-merge) commits by 7 contributors.

You can view the rest of the changes here: sbt 0.13.13-RC1.

New libs for Scala Exercises

New libraries added to Scala Exercises

Last week, three new libraries were added to Scala Exercises, the free open source project from 47 Degrees that makes learning Scala and it’s associated technologies easy.

The recent additions include:

  • doobie, a pure functional JDBC layer for Scala.
  • ScalaCheck, a tool for testing Scala and Java programs based on property specifications and automatic test data generation.
  • FP in Scala, based on Manning’s Functional Programming in Scala book by Paul Chiusano and Rúnar Bjarnason.

Find out more and start learning at Scala-Exercises.org.

Wait, there’s more:

Suggested information to digest this weekend:

The functional programming community has no shortage of excellent conferences, talks, and articles. Here are just a few that were released that we recommend checking out if you missed them the first time:

Timothy Perrett:

  • Enterprise Algebras
  • Scala World 2016

Timothy Perrett explains, “Verizon Labs is home to one of the largest Scala-based functional programming teams in North America, and in this talk Timothy Perrett provides an insight into the work of his infrastructure engineering team, in driving adoption of pure-functional programming in a fortune 15 company: from language education and proliferation within the team, to the specific positives and negatives of purely functional programming, when applied at massive scale”

You can view the slides here:


Brendan McAdams:

  • quaich: Event-Driven Scala on AWS Lambda
  • Scala World 2016

Brendan McAdams explains, “AWS Lambda is an interesting emerging platform for “serverless” programming. Entirely event driven, it provides an easy model to handle both ‘built-in’ Amazon events – such as DynamoDB & S3 Bucket changes, and HTTP calls through services such as Amazon’s API Gateway… as well as custom events. Being “serverless”, Lambda allows us to drop in simple JVM code via assembly JAR that responds through an event loop, minimizing execution costs and eliminating the need to setup and maintain dedicated server instances.

quaich (pronounced ‘quake’) is a Scala microframework, inspired by the Python based chalice released by Amazon recently. The concept is simple, single file applications that can receive and handle the JSON events pushed by the Lambda system. Through clever tricks with macros, etc. we provide an easy model for defining your routes files and even parsing custom variables.”

You can view the slides here:


Upcoming Events:

Seattle Spark Meetup

  • September 22nd
  • Context Relevant - Seattle, WA

Typelevel Unconference & Lambda World

  • September 30th - October 1st
  • Palacio de Congresos - Cádiz, Spain

Reactive Summit

  • October 4-5th
  • Hyatt Regency Austin - Austin, TX

We’re giving away a free ticket! Retweet the below for your chance to win! We’ll announce the winner on Wednesday, September 21st!

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

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.