Functional Roundup for July 29, 2016
by Maureen Elsberry
- •
- July 29, 2016
- •
- news• scala• spark• cats• scala days• functional roundup
- |
- 5 minutes to read.

Apache Spark 2.0 Unleashed
We’ve been champing at the bit for Spark 2.0 ever since the update’s juicy details were revealed at Spark Summit this Summer and the wait is finally coming to an end. The first major release of the 2.x line was made public on July 26th.
Here are some of the highlighted changes and additions according to the release notes:
-
API Stability including unifying
DataFrame
andDataset
, a new streamline configuration API for Spark Session, and a simpler more performant accumulator API. -
Improved SQL functionalities with SQL2003 support, a native SQL parser that supports both ANSI-SQL as well as HIVE QL.
-
Substantial (2-10x) performance speedups for common operators in SQL and DataFrames (via whole stage code generation).
-
Experimental release of Structured Streaming.
-
The default build is now using Scala 2.11 instead of 2.10.
The release also includes over 2500 patches from a whopping 300 contributors.
There are a few API breaking changes that you may want to check out before you proceed here: Removals, Behavior Changes and Deprecations
You can view the full list of changes here: Apache 2.0 Release Notes.
Scala.js 0.6.11 release
The latest release of Scala.js v. 0.6.11 is primarily focused on optimizations, including:
- #2488 -
Long
s have been vastly approved with speedups up to 15x. - #2490 - The Google Closure Compiler used for
fullOptJS
has been upgraded improving speed of the production applications by up to 2x (but on average by 10-15%). - #2507 and #2533 - New JDK APIs
java.util.Optional
andjava.util.EventObject
.
And 29 bug fixes, including:
- #2471 - The
BufferedReader
implementation does not close its underlyingReader
. - #2474 - 2+ top-level exports with the same name cause trouble at run-time.
- #2491 - Name clash in some cases after renaming by the Closure Compiler in
fullOpt
. - #2512 -
java.util.Arrays.asList()
cannot be called. - #2513 -
@JSExport
does not work for abstractval
s andvar
s. - #2539 -
java.util.ConcurrentHashMap.putIfAbsent()
is wrong. - #2445 - Paren-free
def
’s with type-parameters are handled as a function injs.native
traits.
This minor release is binary compatible with the prior 0.6.x series releases.
You can view the full list of changes here: Scala.js v. 0.6.11
Iteratee for Cats Version 0.6.0-M1
Travis Brown dropped a milestone release for iteratee for Cats this week.
M1 mainly focuses on version updates of Monix, Scala.js, and Cats. The following changes are also noted:
- #98
provided
Scoverage dependencies removed from the published POMs. - #100 -
readBytesFromStream
enumerator now exists (thanks to Romanlakovlev) which behaves the same asreadLinesFromStream
but returns byte arrays. - #101 -
Travis mentions that the final 0.6.0 release will likely come after the final Monix 2.0 version and perhaps, Cats 0.7.
You can view the announcement here: iteratee 0.6.0-M1 ___
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:
Alexander Prodkhalyuzin:
- Mastering Scala with IntelliJ IDEA
- Scala Days Berlin 2016
“Why do developers love IntelliJ IDEA? Because it takes care of all the routine and provides intelligent coding assistance. Once you master it, the productivity gains are quite surprising. In this session I’ll show you the 30 hidden gems of IntelliJ IDEA that will help you become a more productive Scala developer.”
Watch the talk here:
Dmitry Petrashko:
- Dotty Linker: Precise Types Bring Performance
- Scala Days Berlin 2016
Dmitry Petrashko speaks about, “common arguments for using more elaborate type systems include safety and documentation. But we will show how more expressive type systems can be used to drive novel powerful optimizations and make the program faster. Based on this principle, we built the Dotty Linker, a whole-program optimizer that represents a breakthrough in optimization of Scala code. We will demonstrate how the linker is capable of reducing the performance overhead of commonly-used Scala features such as generic methods and classes, lazy vals, implicit conversions and closures.”
Watch the talk here:
Jamie Allen:
- The Future of Services
- Webinar
Jaime Allen presents the Future of Services: “Building Asynchronous, Resilient and Elastic systems. The talk forcuses on “how to build elastic, resilient service-based applications that can handle tremendous amounts of data in real time, and to introduce the new Lightbend framework for Microservices-based applications called Lagom.”
Watch the talk here:
Upcoming Events:
- August 5th - 6th
- Concordia University - Montreal, Quebec
- August 16th
- Dexcom - Portland, OR
- September 10-14th
- The Rheged Centre - Cumbria, UK
Typelevel Unconference & Lambda World
- September 30th - October 1st
- Palacio de Congresos - Cádiz, Spain
Have a news tip for us? Tweet to us @47deg or send to us via email here.