Today I released brinicle, a toy framework for building audio effects using rust and react-native.
I've long been interested in better ways of writing audio software than the traditional method, which involves using C++ for both signal processing and user interface code. Since audio software usually has to work in real-time, certain language features like pausing garbage collection and locking thread synchronization (including dynamic memory allocation on most OSes) aren't available. This means languages that depend on these features for their basic functionality won't work. One of the few modern languages that's capable of working in a real time environment is Rust.
Rust has many of the niceties you'd expect from a language designed in the 21st century, such as native sum types and haskell-style polymorphism, but with a low-level focus and commitment to zero-cost abstractions that even exceeds that of C++ (for example, the recommended error handling mechanism in Rust is zero-cost, while that of C++ is not). Additionally, Rust has a novel borrow checker which saves you from common C/C++ headaches like use-after-free and race-conditions. I've been using Rust since 2015, but this is the first project I've shared outside of a small group of friends.
Most of the work of brinicle was completed in early 2017, but I spent a month or two of side-project time this year porting it to the newer versions of Rust and C++ that are currently available.