InfoQ Homepage Functional Programming Content on InfoQ
-
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.
-
Discord Scales to 1 Million+ Online MidJourney Users in a Single Server
Discord optimized its platform to serve over one million online users in a single server while maintaining a responsive user experience. The company evolved the guild component, which is responsible for fanning out billions of message notifications, in a series of performance and scalability improvements supported by system observability and performance tuning.
-
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.
-
Ruiz and Almiray at Devoxx UK: Lessons on How to Escape the Maven Dependency Hell
During their Devoxx UK talk Ixchel Ruiz, developer advocate at JFrog, and Andres Almiray, principal product manager at Oracle, presented multiple “maven puzzlers" together with their potential solutions to escaping the Apache Maven dependencies hell. In an effort to be as comprehensive as possible, they spoke about direct, transient and even inherited dependencies from parent POMs.
-
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.
-
JetBrains IntelliJ IDEA 2022.2 Uses Java 17 Runtime
IntelliJ IDEA 2022.2 uses the JetBrains Runtime 17, a fork of OpenJDK. The latest versions of various languages and frameworks are now supported, such as Scala, Kotlin, Spring 6 and Spring Boot 3.
-
SoundCloud Chronicles the End of the Public API Strangler
SoundCloud has successfully completed their migration journey using the Strangler pattern from a monolith application to a fully-fledged BFF.
-
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.
-
Java News Roundup: MicroProfile 4.1, Spring Boot Updates, Kotlin, Scala, OpenJDK, Liberica JDK
This week's Java roundup for July 19th, 2021, features news on JDK 17, JDK 18, OpenJDK, Liberica JDK, GraalVM, MicroProfile 4.1, Quarkus 2.0.3, Hibernate, Spring Framework, JobRunr 3.4.0, ReactorFirst 0.1.0, Apache Tika 2.0.0, Kotlin 1.5.30-M1, Scala 3.0.1 and Scala 3.0.2-M1.
-
Java News Roundup - Week of June 28th, 2021
This week’s Java roundup features news from JDK 17, JDK 18, GraalVM Native Build Tools, TornadoVM 0.10, the release of Quarkus 2.0 and Apache Camel Quarkus 2.0, Apache Camel 3.11, Apache Wicket, Helidon, Micronaut Foundation, JReleaser 0.5.0, IntelliJ IDEA 2021.1.3, Gradle 7.1.1, Hibernate, Scala, ASM and the Spring Framework.
-
Scala 3 Overhauls Language for Better Developer Experience
Eight years in the making and the first major release since version 2.13, Scala 3.0 delivered a "complete overhaul of the Scala language" with updates to the syntax, the type system, metaprogramming, and language features. It is binary backwards-compatible with Scala 2.13 but not fully source-compatible. The new compiler can automatically migrate old code and report any remaining issues.