
There’s a running joke in the functional programming community. Any Scala program can be written by combining the traverse function the correct number of times. This blog post is dedicated to that joke. In Rust, the Iterator trait defines a stream of values of a specific type. Many common types provide an Iterator interface. And […]

I recently joined Matt Moore on LambdaShow. We spent some time discussing Rust, and one point I made was that, in my experience with Rust, ergonomics go something like this: Beginner: oh cool, that worked, no problem Advanced beginner: wait… why exactly did that work 99 other times? Why is it failing this time? I’m […]

Rust is a relatively new and promising language that offers improvements in software in terms of safety and speed. We’ll cover if adopting Rust into your organization makes sense and where you would want to add it to an existing software stack. Advantages of Rust Background Rust was originally created by Mozilla in order to […]

First there was cooperative multiprocessing. Then there were processes. An operating system could run multiple processes, each performing a series of sequential, blocking actions. Then came threads. A single processes could spawn off multiple threads, each performing its own series of sequential, blocking actions. (And really, the story starts earlier, with hardware interrupts and the […]

At FP Complete, we have long spoken about the three pillars of a software development language: productivity, robustness, and performance. Often times, these three pillars are in conflict with each other, or at least appear to be. Getting to market quickly (productivity) often involves skimping on quality assurance (robustness), or writing inefficient code (performance). Or […]

On February 2, 2020, one of FP Complete’s Lead Software Engineers—Mike McGirr—presented a webinar on using Rust for creating DevOps tooling. Webinar Outline FP Complete is hosting a functional programming webinar on, “Learn Rapid Rust with DevOps Success Strategies.” A beginner’s guide including sample Rust demonstration on writing your DevOps tools with Rust over Haskell. […]

Before getting started: no, there is no such thing as an async exception in Rust. I’ll explain what I mean shortly. Notice the comma in the title :). GHC Haskell supports a feature called asynchronous (or async) exceptions. Normal, synchronous exceptions are generated by the currently running code from doing something like trying to read […]