InfoQ Homepage Functional Programming Content on InfoQ
-
The Resurgence of Functional Programming - Highlights from QCon Plus
The Resurgence of Functional Programming track at QCon Plus featured several experts describing how functional programming makes developing software a joyful experience. They also told why and how object-oriented languages such as C# and Java are evolving by becoming more functional.
-
Refactoring Large Haskell Codebases Using Facebook Retrie
Facebook has open-sourced the tool they use to refactor their own Sigma anti-abuse rule engine. Named Retrie, this tool allows developers to describe rewrites as equations in Haskell syntax rather than regular expressions.
-
Haskell Web Framework IHP Aims to Make Web Development Type-Safe and Easy
Created at digitally induced, the Integrated Haskell Platform aims to be an opinionated framework bringing Haskell type-safety to server side rendering combined with fast development. InfoQ has spoken with digitally induced CEO Marc Scholten.
-
A Guide to Writing Properties of Pure Functions - John Hughes at Lambda Days 2020
John Hughes, co-designer of Haskell and Quickcheck, recently discussed property-based testing at Lambda Days 2020. Hughes presented in his talk five different strategies for coming up with properties and compared their effectiveness. Metamorphic and model-based properties reportedly show high effectiveness.
-
New Elm Release Helps Developers Learn Syntax
Evan Czaplicki, Elm’s creator, recently released Elm 0.19.1 with improved error messages. Elm 0.19.1 goes a step further in realizing Elm’s vision of being a delightful language for reliable webapps. The new release comes a year after the previous one (0.19) which emphasized smaller assets, and faster builds.
-
Reasons to Use ReasonML - Anton Tuzhik at ReactiveConf 2019
Anton Tuzhik, recently presented a talk at ReactiveConf 2019 in Prague detailing the reasons why he thinks ReasonML is a good option for implementing applications. ReasonML supports native and JavaScript as compile-targets, provides a sound type system, encourages immutable data structures, and has good interoperability with the JavaScript ecosystem.
-
Largest Transport Provider in Norway Rewrites Its Website with 83,000 Lines of Elm
Vy.no, the largest transport provider in Norway, rewrote its website in the compile-to-JavaScript Elm language. Robin Heggelund Hansen and Kjetil Valle presented in a recent article the three-year journey by which Vy gradually switched to Elm for the non-static parts of its website.
-
Writing Web Applications in Java - a Study of Alternatives
Developers familiar with the Java Virtual Machine languages and who want to develop web applications without the difficulties of a JavaScript development stack, have an increasing array of alternatives to JavaScript to choose from. The performance penalty vs. native JavaScript web applications is shrinking.
-
Microservices Framework Lagom 1.5 with Akka Management and Support for Kubernetes and OpenShift
Version 1.5 of the microservices framework Lagom comes with Akka Management, a set of tools for operating Akka powered applications, and support for deployment with Kubernetes or OpenShift. The recently released version 1.5 is built on Play 2.7.0, Alpakka Kafka 1.0 and Akka 2.5.22 and also adds support for Couchbase and for gRPC through Akka gRPC.
-
Joseph (Joe) Armstrong: A Tribute
Some of Joe's former colleagues from Ericsson wrote a good-bye note and asked if we would publish it.
-
F# 4.6 Introduces Anonymous Record Types
The next release of F#, F# 4.6, will most notably bring anonymous record types and structs to the language, along with a few additions to the standard library.
-
Previewing Swift 5 Result Type
One of the most awaited proposals for Swift 5, Result, has already landed into the language. The Result type forces the programmer to explicitly handle the failure and success cases before they can gain access to the actual value. Let’s have a look at how it is implemented, how you can use it, and why it was needed.
-
AWS Lambda Layers and Runtime API: beyond Officially Supported Runtimes
AWS re:Invent 2018 had numerous announcements of new features and services, including Lambda Layers, to centrally manage code and data shared across functions, and the Lambda Runtime API, expanding Lambda beyond JavaScript to any programming language.
-
IntelliJ IDEA 2018.2 Supports Java 11, MacBook Touch Bar and More
JetBrains recently released the IntelliJ IDEA 2018.2. This version brings support for the upcoming Java 11, breakpoints intentions, MacBook Touch Bar, enhancements for Spring Boot, Scala and Docker plugin, and more.
-
Elixir 1.7 Improves Error Handling, Logging, and Testing
Elixir 1.7 is focused on quality of life improvements, writes Elixir creator José Valim. Those include a new __STACKTRACE__ construct to retrieve the stacktrace, integration with Erlang’s new :logger module, improvements to Elixir’s unit testing library ExUnit, and support for metadata in documentation.