What's everyone working on this week (27/2022)?

New week, new Rust! What are you folks up to?

We are nearing the v1 release of GitHub - orottier/web-audio-api-rs: A Rust implementation of the Web Audio API, for use in non-browser contexts - a pure Rust implementation of the Web Audio API which you can use outside of the browser (CLI, games, RPi etc)


I'm continuing work on Malachite.

I'm currently implementing the Legendre, Jacobi, and Kronecker symbols, which are important functions in number theory. They're very closely related. The only difference between the Legendre symbol and the Jacobi symbol is that the second argument of the former must be prime; but there's no way to take computational advantage of this restriction, so my implementations of these two functions are identical. I'm following GMP's implementation, which uses a variant of Lehmer's GCD algorithm.

I also blogged about how Malachite's tuple-generating iterators work. Some cool fractal graphs are involved.


I released several versions of Parsel, a convenient parser generator that #[derive]s parsers and printers purely based on types. Improvements to the API include:

  • more standard trait impls for AST node types;
  • more helper types and functions for representing some common grammar productions;
  • and a lighter-weight code generator in the custom derive macros that forwards to runtime helpers instead of generating the bulk of the parsing logic inline,
  • as well as improved error messages.

I just released a first version of cvcap, a commandline tool for adding tasks to Checkvist. Aside from being something I want for my own use, it's a learning project and my first real(ish) chunk of Rust code. It's more than a tad crude (from the sublime to the ridiculous compared to other things in this thread!), but it does something useful (for me), and is helping me transition from reading about Rust to actually writing some.

Finalising the first version of my first big Rust project: essentially a website for tracking Disney world prices and searching for deals. Similar to Google Flights. The stack is Typescript/React on the front-end and Rust/Actix on the back-end.