InfoQ Homepage Functional Programming Content on InfoQ
-
The Future of Scala
The Scala Team recently published a "Scala: Next Steps" article describing the future of the language, and detailing the features of the next three major Scala releases and main goals: to make the language and its libraries simpler to understand, more robust, and better performing.
-
Racket 6.1 Released
PLT Design has released version 6.1 of Racket, its general purpose, multi-paradigm programming language belonging to the Lisp/Scheme family. Racket 6.1 introduces a new way of handling local recursive variable definitions and several other language features.
-
Experiences Building a Reactive Event-Driven CQRS Application
CQRS and Event Sourcing provide a clear and concise way to build distributed applications that adhere to the reactive manifesto, Duncan DeVore claimed in a recent presentation sharing his experiences building a distributed application using Akka and Scala.
-
F# Native App Development on iOS and Android
F# has supported both iOS and Android native programming through Xamarin since at least Xamarin 4.8 and can be efficiently used to create native apps on both platforms. Let's give a look at some experience reports.
-
Streams Library Brings Lazy Evaluation and Functional-style to C++14
Streams is a C++14 library that provides lazy evaluation and functional-style transformations on the data, to ease the use of C++ standard library containers and algorithms. Streams support many common functional operations such as map, filter, and reduce. InfoQ interviews Streams' author.
-
rest: Open Source REST Framework For Haskell
Silk has recently open-sourced a REST framework for Haskell, called "rest". It provides a DSL for defining REST services which can then be run in popular web frameworks such as happstack. This comes with features such as type-safe URLs, abstraction of format-type support, and a clean separation of API specification and business logic.
-
Facebook Open-sources Haxl: Implicit, Concurrent Data Access Using Haskell
Facebook has open-sourced Haxl, a library for efficient, concurrent data-access. The library leverages the traditional strengths of Haskell such as expressive type system, correctness and safety guarantees, as well as GHC's high performance run-time to solve the thorny issue of implicit, concurrent data access.
-
Play 2.3 Released: Modularization, Java 8 and WebJars
The Play 2.3 release increases modularization of the framework by separating parts from the framework. Also, the Play shell has been replaced by Activator, which includes a browser UI and project templates. InfoQ also talked to Play tech lead James Roper to learn more about the changes and futures plans.
-
Functional Patterns in Domain-Driven Design
Implementing Domain-Driven Design (DDD) concepts using object orientation principles with state and behaviour often gives you a muddled mutable model, instead building domain objects with only state and behaviour as standalone functions leads to a better realization, Debasish Ghosh claims in a recent blog post.
-
Scala 2.11: The Latest Major Scala Release
Typesafe has recently announced the release of Scala 2.11 under the standard 3-clause BSD license. This is a major release which includes improvements in scalac, the REPL, packaging/modularization, macros, the Collections library, and various bug fixes. Scala 2.11 targets Java 6, with only limited, experimental support for Java 8. Scala 2.11 is not binary compatible with the 2.10 series.
-
Groovy 2.3 Released With Traits and Java 8 Support
Groovy Project Manager at Pivotal Guillaume Laforge today announced the release of Groovy 2.3, the first major Groovy release this year, and the first major release of Groovy to feature official support for running on the recently released Java 8.
-
Reactive Streams with Akka Streams
Typesafe has announced the early preview of Akka Streams, an open source implementation of the Reactive Streams draft specification using an Actor-based implementation. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure on the JVM. Back pressure in needed to make sure the data producer doesn't overwhelm the data consumer.
-
Haskell Gets iOS Support, Several language and Performance Improvements
GHC 7.8.1 was recently released, bringing several language, compiler and performance improvements. Haskell can now be compiled for iOS, and sports new features such as Closed Type Families, Roles, Overloaded Lists, Pattern Synonyms.
-
DDD and CQRS Using the Functional Language F#
A focus on behaviour and a more declarative style of code are two benefits for Domain-Driven Design (DDD) when moving from an object-oriented language like C# to a functional one like F#, Lev Gorodinski claims in a recent presentation, using an example that includes event sourcing and Command-Query Responsibility Separation (CQRS) to show some of the benefits and challenges in a move to F#.
-
Rebecca Parsons on the ThoughtWorks Technology Radar
In January ThoughtWorks released the latest version of their Technology Radar in which they track what's interesting in the software development ecosystem. The big themes this year are (1) early warning systems and recovery in production, (2) the tension between privacy and big data, (3) the javascript ecosystem and (4) blurring of the line between the physical and virtual worlds.