Joined a new company last week, comparatively bigger team then the once with I worked earlier, Entire week I was hardly assigned any tasks, that's some change in pace I need to adapt too...🫠
submitted SolTrace for Frontier Hackathon by @colosseum
structured logging observability for solana programs.
reducing logging CU costs by up to 90% while making on-chain programs actually debuggable.
building the missing observability layer for Solana.
Just added support for Objects and maps in my rust based ts interpreter!
Object literals, dot bracket access, nested properties
Chained accessors: obj.items[0], arr[0].name
Reference semantics mutate objects inside functions, caller sees the change
github.com/shubhiscoding/Rus…
Added support for nested read and write, plus refactored to Rc<RefCell<Vec>> to gain O(1) read and write for array interpretation.
github.com/shubhiscoding/Rus…
Added support for nested read and write, plus refactored to Rc<RefCell<Vec>> to gain O(1) read and write for array interpretation.
github.com/shubhiscoding/Rus…
Built array support for Rusty Runtime: literals, indexing, mutation, pass/return from functions, Also added CI.
we just wrote a working merge sort in .rts!
github.com/shubhiscoding/Rus…
read and reassignment support for nested arrays is a todo for now
Built array support for Rusty Runtime: literals, indexing, mutation, pass/return from functions, Also added CI.
we just wrote a working merge sort in .rts!
github.com/shubhiscoding/Rus…
read and reassignment support for nested arrays is a todo for now
Rusty Runtime now has functions, recursion, and a frame-based VM. Each function gets its own call frame with isolated scope.
Nested calls, return values, the full call stack✅.
factorial(), fibonacci() etc runs natively on our custom bytecode VM(No V8/JIT).
Next up: arrays.
Rusty Runtime now has functions, recursion, and a frame-based VM. Each function gets its own call frame with isolated scope.
Nested calls, return values, the full call stack✅.
factorial(), fibonacci() etc runs natively on our custom bytecode VM(No V8/JIT).
Next up: arrays.
🦀 rusty_runtime now has strings!
String literals, concatenation, and mixed-type concat ("val: " 5),
String comparisons,
Truthy/falsy: "" and 0 are falsy,
we can now express algos like Fibonacci, GCD ,(Euclidean), prime checking etc.
github.com/shubhiscoding/Rus…
next: functions(👀)
🦀 rusty_runtime now has strings!
String literals, concatenation, and mixed-type concat ("val: " 5),
String comparisons,
Truthy/falsy: "" and 0 are falsy,
we can now express algos like Fibonacci, GCD ,(Euclidean), prime checking etc.
github.com/shubhiscoding/Rus…
next: functions(👀)
🦀 rusty_runtime update:
for loops with proper continue semantics,
&& and || with short-circuit evaluation,
i / i-- increment/decrement,
```continue``` now uses backpatching — works correctly in both while and for loops
github.com/shubhiscoding/Rus…
Next up: functions(👀)
implementing continue for ```for loop``` was kindda trickky...
In a while loop, continue just jumps back to the condition. Simple.
But in a for loop: for(let i=0; i<10; i ) — if continue skips to the condition, the update (i ) never runs. Infinite loop. 💀
🦀 rusty_runtime update:
for loops with proper continue semantics,
&& and || with short-circuit evaluation,
i / i-- increment/decrement,
```continue``` now uses backpatching — works correctly in both while and for loops
github.com/shubhiscoding/Rus…
Next up: functions(👀)
The problem: when compiling the loop body, we don't know WHERE the update instructions will be yet — the body hasn't finished compiling.
The solution: backpatching
Every continue emits Jump(0), a placeholder
We save its index in continue_placeholders
After compiling the body, we know the update's start index, We go back and patch all continue jumps to point there for for loop, and backpatch to loop start for while loops.
🦀 rusty_runtime update:
for loops with proper continue semantics,
&& and || with short-circuit evaluation,
i / i-- increment/decrement,
```continue``` now uses backpatching — works correctly in both while and for loops
github.com/shubhiscoding/Rus…
Next up: functions(👀)
🦀rusty_runtime progress update!
Since the last update we've added:
while loops with backpatching,
break & continue (with LoopContext tracking),
variable reassignment (with undeclared var detection),
refactored the compiler to use a shared instruction buffer
🦀 rusty_runtime update: if/else control flow is live!
Added comparison operators (>, <, ==, !=),
conditional branching with backpatching, and jump instructions in the VM.
Next up: loops!
2 tasks ticked of on Language Features roadmap: github.com/shubhiscoding/Rus…
🦀 rusty_runtime update: if/else control flow is live!
Added comparison operators (>, <, ==, !=),
conditional branching with backpatching, and jump instructions in the VM.
Next up: loops!
2 tasks ticked of on Language Features roadmap: github.com/shubhiscoding/Rus…