Terts Diepraam
tertsdiepraam.bsky.social
Terts Diepraam
@tertsdiepraam.bsky.social
Rustacean, RustWeek organiser & software developer at NLnet Labs

he/him
Ik deed mijn burgerplicht en vulde de feedbacktool van de
@volkskrant.nl in, maar bij deze vraag moest ik toch even nadenken of 5 hier 5, 10 of 50 meldingen betekent. Mijn nerdbrein kan dit niet loslaten.
November 14, 2025 at 3:47 PM
I collaborated with @cirw.in at EuroRust to make a Zed extension for Roto! It's based on the tree-sitter grammar and supports syntax highlighting and generating an outline. It can be installed via Zed's regular extension manager.

Thanks @cirw.in!
cc @nlnetlabs.bsky.social

#rust #rustlang
October 16, 2025 at 9:03 AM
There is also a new page in the documentation with a concise syntax overview, which should allow people to get started with Roto more easily. Big thanks to Typst's documentation that gave me the idea for this page.

6/N
October 6, 2025 at 7:50 PM
The registration API now also allows you to register closures, opening up some interesting possibilities for more dynamically generated runtimes. Note that the closure does need to be `'static`.

5/N
October 6, 2025 at 7:50 PM
We have a new registration API. This new way of registering functions, types, constants, methods and modules is much more intuitive, powerful and consistent.

4/N
October 6, 2025 at 7:50 PM
As a final treat: there's string interpolation now! It looks a lot like Python f-strings and allows for arbitrary expressions.

Note that this feature still needs some more work. Some cryptic and unnecessary errors might occur and there's no format specifiers yet.
August 25, 2025 at 9:26 AM
Another little addition: you can add type annotations on `let` bindings.
August 25, 2025 at 9:26 AM
Roto can now loop with `while` loops, which work exactly like you'd expect.
August 25, 2025 at 9:26 AM
Imports have also gotten a boost. It's now possible to import multiple items in a single line and you can import enum variants and (static) methods.
August 25, 2025 at 9:26 AM
And there's a Rust-like `?`-operator now as well, that will return `None` and unwrap `Some`. All of these changes make `Option` much nicer to work with.
August 25, 2025 at 9:26 AM
We also have pretty colors now in Helix and other editors using tree-sitter! You can find the grammar in a separate repository: github.com/NLnetLabs/tr....
August 25, 2025 at 9:26 AM
Most importantly, we now have a dedicated documentation website for Roto. This is a much gentler and complete introduction and reference for the language.

Check it out at roto.docs.nlnetlabs.nl
August 25, 2025 at 9:26 AM
As a little sneak preview, I've been working on a tree-sitter grammar for Roto. Here's a screenshot from my editor (Helix) highlighting a Roto script for the first time.
May 30, 2025 at 8:06 AM