InfoQ Homepage Functional Programming Content on InfoQ
-
How DSLs Withstand the Test of Time
Domain-specific languages let domain experts participate in the software development process. Few DSLs however withstand the test of time. Key success factors for longstanding DSLs seem to be user-centered design and adhering to the open–closed principle. Markdown, TeX, and CSS, have remained popular and relevant for two decades, even as their original target audience evolved.
-
Donkey: a Highly-Performant HTTP Stack for Clojure
Donkey is the product of the quest for a highly performant Clojure HTTP stack aimed to scale at the rapid pace of growth we have been experiencing at AppsFlyer, and save us computing costs. In this article, we’ll briefly outline the use-case for a library like Donkey and present our benchmarks. Finally, we will discuss Clojure and immutability, and some of our design decisions.
-
What’s New on F#: Q&A With Phillip Carter
Last month, at the 2020 edition of .NET Conf, Microsoft released the latest version of F#. F# is as functional-first, cross-platform, open-source .NET programming language, and it’s developed by Microsoft and several open source partners and contributors. InfoQ interviewed Phillip Carter, program manager at Microsoft, to talk about functional programming, F#, and the new features of F# 5.
-
Functional UI - a Stream-Based Equational Approach
User interface applications can be implemented with an explicit functional relation linking events received by the user interface to the actions to exert on the interfaced systems. Streams by abstracting over time may express that relation concisely. A stream-based implementation is one of the three Functional UI strategies for implementing reliable, well-architected user interface applications.
-
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.