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.
Ten years ago today, the first release of the Scala language was announced on the comp.lang.scala newsgroup. It's come a long way in ten years; what will the next ten years be like? InfoQ looks back.
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.
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.
Vaughn Vernon, author of Implementing Domain-Driven Design, recently talked about using Scala and the Actor Model implementation Akka together with Doman-Driven Design as a means to remove some of the architecture overhead typically found in event-driven or hexagonal architectures.
Oracle have released videos and slides from the 2013 JVM Language Summit, which saw uses of the JVM from the biggest data to the smallest mobiles, and future performance advances in the JVM runtime. Read on to find out more about what was covered.
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.
Oracle has released the first developer preview of Java 8 for the full range of platforms (Windows, Max OS X, Linux, Solaris).
FP Complete has launched Haskell Center, their new Haskell IDE and application server. The IDE is browser based, and together with their application server, should make it much easier to create and run web based Haskell programs.
Reactive programming (RP) is based on data flows and the propagation of change, with the underlying execution model of a programming language automatically propagating changes through the data flow. With the popularity of event-driven, scalable, and interactive architectures both on the server and the client, the concept of “reactiveness” is increasingly gaining attention.
For many of us Twitter has become an essential communications utility. Since experiencing scalability problems in 2010, Twitter has moved to a loosely coupled service oriented architecture based on the JVM, allowing it new levels of scalability and feature agility. Twitter engineering recently reported a new record throughput and took time out to describe their new architecture.
In the newest drop of Immutable Collections for .NET we get ImmutableArray
During QCon New York 2013, Rich Hickey gave a talk on functional databases. Hickey is well known for creating the Clojure programming language and is currently developing Datomic, which is a functional database. During his talk, Hickey argued that the useful properties of functional languages: data as values and pure functions, are just as useful in the context of databases.
Creating a simple immutable class in C# is easy, but eventually you’ll want to create deep graphs that, for efficiencies sake, should be created via a builder. Or perhaps you want to make non-destructive updates by creating methods. Building out all these builders and methods can be quite tedious and thus error prone. Andrew L Arnott offers a solution that relies on T4 based code generators.