Functional Roundup for September 19, 2016
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
lazy valhandling, 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 for Scala 0.9 Released
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
Taskand users can bring their own effect types.
- The async package has been generalized to work with any effect type with an
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
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 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
newcommand, which helps creating new build definitions. This is extensible via
templateResolverssetting 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
<++=are now marked deprecated. (These are removed in 1.0.x branch.)
- 2709 - The
.valuemethod is deprecated for input tasks since
.evaluatedis 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
--errorwill work, but we encourage you to migrate to single hyphen version:
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 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:
- 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:
- 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:
- September 22nd
- Context Relevant - Seattle, WA
- September 30th - October 1st
- Palacio de Congresos - Cádiz, Spain
- 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!