InfoQ Homepage Functional Programming Content on InfoQ
-
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.
-
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.
-
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.
-
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.
-
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#.
-
Domain-Driven Design Using a Functional Language
Using a functional language in domain-driven design (DDD) the actual code can often become simple enough to be used instead of UML diagrams when discussing with domain experts, Scott Wlaschin stated in a recent talk about domain modelling together with functional programming using F#.
-
Object Oriented Design Principles and Functional Programming
Independently from each other, Richard Warburton in a presentation, and Mark Seemann in a blog post both talks about object-orientation and the SOLID design principles from a functional programming perspective.
-
Elm 0.11 Improves JavaScript Interop
Elm’s recent 0.11 release aims to simplify using the FRP language in combination with Javascript.
-
Prismatic Adds Data Type Coercion to Schema 0.2
Prismatic have added data coercion in the 0.2 release of their Clojure data description library, Schema. The addition of coercion means that the library doesn’t just reject data that has the wrong types, but it can be configured to modify instances to fit the schema. InfoQ talked to Prismatic's Jason Wolfe about Schema.
-
LightTable IDE Goes Open Source, Adds Plugin Support
Chris Granger has open sourced the LightTable IDE with the 0.6 release. Third party plugin support was the highlight feature of the release. InfoQ talked to LightTable creator Chris Granger.
-
Functional Relational Mapping Library Slick 2.0 Released
Version 2.0 of Slick, a Functional-Relational Mapping, FRM, library for Scala, (corresponding to an Object-Relational Mapper, ORM, for object-oriented languages), was recently released with a code generator for reverse-engineering a database schema and new driver architecture to allow support for non-SQL databases.
-
Om: Enhancing Facebook's React with Immutability
Om is a new a ClojureScript interface for Facebook’s React HTML UI library. Om uses Clojure(Script)'s persistent data structures and requestAnimationFrame to further improve React's rendering. InfoQ talked to Om's creator, David Nolen, about Om and the benefits of functional concepts for application programming.
-
Xen Project Releases 1.0 of Mirage OS
Mirage OS is a ‘cloud operating system’ that seeks to avoid security vulnerabilities and bloat by facilitating the creation of single purpose virtual appliances. Applications are developed in the OCaml functional programming language and compiled into standalone ‘unikernels’ that run directly on the Xen hypervisor.
-
Core.Typed Adds an Optional Type System to Clojure
core.typed adds an optional type system to Clojure, aiming to combine the best of both worlds: the brevity and flexibility of Clojure and the safety guarantees that a type-checker provides.