5
submitted 1 day ago by tracyspcy@lemmy.ml to c/rust@lemmy.ml

Recent updates:

  • VM now uses NaN-boxing technique.
  • All stack values are 64-bit (u64) but encode 5 distinct types: Boolean, String, CallData, U32, and MemSlice (25-bit offset + 25-bit size). code
  • Added InlineVec โ€” a vector-like structure backed by a fixed-size array. The VM stack, control stack, call stack, and jump stack now use it with defined limits. code
  • VM now has a heap memory. Memory is simple Vec, grows dynamically, but technically length is restricted by mem_slice_val format: 25 bits payload for offset and size

Project is still in absolutely early stage.

you are viewing a single comment's thread
view the rest of the comments
[-] tracyspcy@lemmy.ml 1 points 1 day ago

FAQ : why? It's an experimental approach to ordinary todos. There are plenty of good tools like taskwarrior, but their features are hardcoded task body is huge โ€” you either dig through hundreds of features to find what you need, or something you need is too niche, so it will make no sense to hard code it for devs. So, I decided to try a different approach as an experiment: keep the task model super simple (id,title, status,calldata), but let tasks have executable instructions. That way almost any custom behavior becomes possible โ€” tasks depending on other tasks, tasks modifying other tasks or creating new ones, recurring, self-deleting tasks, task that monitoring new tasks creation and creates alert task, or increase priority of older tasks etc. The tradeoff is complexity for flexibility, like vim/helix vs zed or atom. To make that work a tiny virtual machine is needed and a set of opcodes. So this vm can be a basis for some todo app.

this post was submitted on 01 Feb 2026
5 points (85.7% liked)

Rust Programming

9122 readers
53 users here now

founded 6 years ago
MODERATORS