InfoQ Homepage Functional Programming Content on InfoQ
-
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.
-
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.
-
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.
-
Haskell Adoption and User Satisfaction Growing
The 2018 Haskell User Survey shows very high satisfaction with Haskell’s security, quality, reliability, maintainability, and advanced capabilities, writes FP Complete’s CEO Aaron Contorer. InfoQ has taken the chance to speak with him about Haskell’s current and future landscape.
-
F# 2017 Retrospective
During 2017 F# reached version 4.1 and grew its user community, mostly in coincidence with the release of .NET Core 2.0, while getting stronger tooling and wider conference presence, writes Microsoft program manager Phillip Carter.
-
Refinement Types and Dependent Functions Stable in Racket 6.11
Racket 6.11 brings refinement types and dependent function types to its Typed Racket variant.
-
Dependent-Types Language Idris Reaches 1.0
A few months after reaching what could be considered alpha stage, Idris 1.0 is out, writes Idris creator Edwin Brady, Lecturer in Computer Science at the University of St Andrews, UK.
-
Idris Getting Close to Version 1.0
Dependent types-based language Idris will soon reach version 0.99, which can be viewed as an alpha release of 1.0, according to the Idris team. Idris 1.0 is expected sometime around February 2017.
-
The Road to Javaslang 3.0
Javaslang, an open-source functional library that provides persistent data types and functional control structures for Java 8 and beyond, published a roadmap for a major release version 3.0 that promises significant changes to the library to remove unnecessary and deprecated features.