InfoQ Homepage Functional Programming Content on InfoQ
-
Extensible Effects in JavaScript for Fun and Profit - Q&A with William Heslam
Extensible effects, described by some as the right way to structure programs, are crossing over to JavaScript. Extensible effects at core provide a composable and flexible way to separate concerns, while allowing to redefine the implementation of those concerns at will. William Heslam explained what extensible effects are and the benefit of using them.
-
Java's Missing Features: Five Years Later
Ben Evans revisits his take on Java's Missing Features from 2015 and compares how the language has evolved compared to his observations at the time.
-
Functional UI - a Model-Based Approach
Functional UI techniques rely on the functional relation between events processed by the user interface and the actions performed by the interface. If the user interface has discrete modes in which its behavior can be expressed simply, a modelization with state machines is an advantageous functional UI technique. This article explains the technique, its benefits and how it is used in the industry.
-
Functional UI (Framework-Free at Last)
Functional UI is a set of techniques which rely heavily on functional programming to develop user interface applications. While deceptively simple, functional UI techniques are surprisingly powerful. Functional UI directly reflects the application's specifications, allows developers to unit-test user scenarios, and UI frameworks become mere libraries. Framework-free at last!
-
Programming Languages InfoQ Trends Report - October 2019
This article provides a summary of how the InfoQ editorial team currently sees the adoption of technology and emerging trends within the programming language space, as of Q3, 2019.
-
Java InfoQ Trends Report - July 2019
The InfoQ Java trend report provides an overview of technology adoption and commentary on how we see the Java and JVM-related space evolving in 2019. Key developments include the release of Java 13, the rise of non-HotSpot JVMs and the evolution of GraalVM, and the changing landscape of Java microservice frameworks.
-
It Ain't Necessarily So: Exploring Type Systems for Verifying Musical Correctness
Chris Ford explores what makes music correct and how we might encode it in a type system.
-
Robust Engineering: User Interfaces You Can Trust with State Machines
Industrial-strength modelling techniques used in safety-critical domains can be leveraged for the specification and implementation of user interfaces. This article explains how state machine modelling may lead to robust, testable and maintainable user interfaces.
-
A Critique of Resizable Hash Tables: Riak Core & Random Slicing
This fall, Wallaroo Labs will be releasing a large new feature set to our distributed data stream processing framework, Wallaroo. One of the new features requires a size-adjustable, distributed data structure to support growing & shrinking of compute clusters. It might be a good idea to use a distributed hash table to support the new feature, but what distributed hash algorithm should we choose?
-
A Comparison between Rust and Erlang
This article will focus on a comparison between Erlang and Rust, detailing their similarities and differences. It may be interesting to both Erlang developers looking into Rust and Rust developers looking into Erlang. A final section will detail more about each of the language capabilities and shortcomings and argue for the possibility of leveraging both languages' strengths in the same project.
-
InfoQ Call for Articles
InfoQ provides software engineers with the opportunity to share experiences gained using innovator and early adopter stage techniques and technologies with the wider industry. We are always on the lookout for quality articles and we encourage practitioners and domain experts to submit feature-length (2,000 to 3,000 word) papers that are timely, educational and practical.
-
Understanding Monads. A Guide for the Perplexed
With the current explosion of functional programming, the "monad" functional structure is once again striking fear into the hearts of newcomers. In this article, Introduction to Functional Programming course instructor Dr. Barry Burd clarifies this slippery critter.