InfoQ Homepage Functional Programming Content on InfoQ
-
New Programming Language Vine Based on Interaction Nets
Introducing Vine, an innovative programming language built on interaction nets that seamlessly integrates functional and imperative paradigms. Statically typed and compiled, Vine's intuitive syntax empowers developers to explore parallel computing's potential. With a robust compiler and active community, Vine invites collaboration and creativity.
-
Erlang-Runtime Statically-Typed Functional Language Gleam Reaches 1.0
Gleam, an actor-based highly-concurrent functional language running on the Erlang virtual machine (BEAM), has reached version 1.0, which means it is now ready to be used in production systems with a guarantee of backward compatibility based on semantic versioning.
-
F# Extends its String Interpolation Syntax to Reduce Escaping
F# has introduced a new syntax feature in preview to make it easier to work with interpolated strings. The main advantage of the new syntax is it allows to customize how many curly braces delimit an interpolated expression, thus reducing the need for escaping special characters.
-
Late Architecture with Functional Programming
Many approaches to software architecture assume that the architecture is planned at the beginning. Unfortunately, architecture planned in this way is hard to change later. Functional programming can help achieve loose coupling to the point that advance planning can be kept to a minimum, and architectural decisions can be changed later.
-
Developing Software to Manage Distributed Energy Systems at Scale
Functional programming techniques can make software more composable, reliable, and testable. For systems at scale, trade-offs in edge vs. cloud computing can impact speed and security.
-
OCaml 5 Brings Support for Concurrency and Shared Memory Parallelism
Several years in the making, OCaml 5 introduces runtime support for shared memory parallelism and effect handlers, which are the basis for exception handling, concurrency, async I/O, and more.
-
F# 6 Introduces Resumable Code, Improvements to Pattern Matching and Tooling, and More
F# 6 brings a wealth of new features to the language, library, and tooling aimed at improving performance and making it simpler for programmers wishing to switch to it.
-
OCaml 5 Will Include Multicore Support
The OCaml team has announced a detailed roadmap to add multicore support to the language runtime and will focus on merging the multicore and standard runtimes in the next minor releases leading to OCaml 5.
-
Erlang-Inspired Language Gleam Now Compiles to JavaScript
Gleam, which self-describes as a language for building type-safe, scalable systems for the Erlang virtual machine, now also compiles to JavaScript.
-
Effectful Effects - Unifying Bidirectional Communication between Software Components
Yizhou Zhang, assistant professor at the University of Waterloo, presented bidirectional algebraic effects, a new programming abstraction that subsumes current control flow patterns (e.g., exceptions, promises, generators) while supporting bidirectional control flows. With the new typed abstraction, all declared effects are handled, and no effects are accidentally handled by the wrong handler.
-
New Haskell Foundation to Foster Haskell Adoption, Raises $200,000 USD
Simon Peyton Jones, lead designer of the Glasgow Haskell compiler, recently announced the establishment of the Haskell Foundation. The Haskell Foundation is a non-profit organization dedicated to broadening the adoption of Haskell, by supporting its ecosystem of tools, libraries, education, and research. The foundation already gathered $200,000 in funding from corporate sponsors.
-
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.
-
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.