I've built a #transpiler in #Rust, compiled it to #WASM and integrated it into a #Vue app! :awesome:
It's called selecuery.✨
It can transpile X++ select statements into query expressions. If you think "X++" is a typo and you don't have any idea of what I'm talking about, don't worry.😄
Have a look at the video below.
This project is dear to my heart! ❤️ I've started it 2019 for learning #RustLang.
I think, I've been transpiled during this project as well.🤪
A bit annoyed by the documentation situation with #rustLang... As with most things in Rust land, it's great if you use cargo and it really sucks if you don't.
Unlike rustfmt, rustdoc actually has to be able to compile the code so it needs access to all your dependencies. You can't just invoke rustdoc on foo.rs and call it a day. It really needs to be invoked by the build system. Worse, it doesn't support all the same flags as rustc, some of which are used by meson.
Ok, so I have a Vec<(String, f32)> and I need to, somehow, make it [[String]], but I want to do it lazily instead of converting the whole Vec... #rustlang
Oh man… I've been building several different versions of integration between #Ruby and #RustLang or JS whole evening… and I feel like this 😵💫 and ihavenoideawhatimdoing.jpg 🐶
But it's starting to work and it looks like it should be pretty fast ⚡
One of the things that bug me about Rust is that you never feel like you just finished doing something, you're never "done". In most other languages, after you work on something, you can be quite certain you implemented it in the best way. In Rust, there's always a shorter, built-in or more performant way to do it, and you always have to worry that you didn't use the best possible one.
Many people say that #Rust is very hard to #prototype with or to #refactor. This couldn't be further from the truth! It is the exact opposite!
Let me share with you one of the most profound experiences I had with #RustLang on a casual sunday - a thread 🧵
I'm currently rewriting my #transpiler from #nom to #chumsky and until now everything has turned out great so far, until I've hit the following road block:
Implementing parsers by using #parser functions that have indirect #recursion.
After 5 years of development, 7 art projects, one commercial product, and at least a dozen subtle soundness bugs, I've decided lilos is ready for big ol' version 1.0.0.
As of this release, lilos is 100% strict-cancel-safe, which afaik is a first.
This release is notable for having no fewer than five contributors other than me! Thanks to one of those contributors, we've even got tests on QEMU now.
I did another thing. Introduced Error in #SubspaceCpp, and found a suitable pattern to type-erase a concept implementation so that where you'd write &dyn Error in #RustLang you can write const ErrorBase& in #Cpp. And Box<ErrorBase> can be constructed from any Error object e with sus::into(e). That means you can write Result<T, Box<ErrorBase>> in order to put type-erased Error-concept-satisfying types into virtual functions or dynamic library ABIs.
Gotta write a boatload of tests before I put it up as a PR, but I thought this was cool. Particularly pleased with the repeatable mechanism for type-erasure of a concept without being intrusive at all of the type satisfying the concept. That's demonstrated here by the fact one of the error types is actually an enum.
Reminder: the support for programming the [#LinuxKernel using #Rust aka #Rustlang is not used for anything at all yet within the #Linux#kernel – and most likely disabled in this user's kernel image]
Hey makers, hackers, and electronics folks of the fediverse, what’s your go-to small cheap dev board that ISN’T an ATmega (too small) or ESP32 (too cursed)? I’m asking because I’m writing a gadget-device framework in Rust, and would like to port it to the most popular dev boards.
And of course, it's hosted on the site run by the company that's going bollocks to the wallocks with ai and GPL violations, because we hate humanity. Yep.
Still, interesting development. Not sure if this will be a LibreOffice or a Glimpse yet, but time will tell.
Addendum: Yeah, this isn't exactly new. Gotta love the HN hype cycle ;)
Uploaded a preview of "pw-videomix" with a new render backend.
Amazing new possibilities!
Complex chains of mixers and mandala filter lead to marvelous animations. Even loopbacks between two mixers don't break anything. (Maybe keep an eye on GPU temps.)
Still more like a prototype, but the framework seems pretty solid.
Menu allows for a little bit more customization now.
Andrea Righi[1] wrote a #LinuxKernel scheduler in #Rust / #Rustlang using sched-ext[2]; he claims he was "'"pretty shocked to see that it doesn't just work, but it can even outperform the default #Linux scheduler (EEVDF) with certain workloads (i.e., gaming):"'"
This is one of those scary articles because it’s hard to find fault with it and the author’s experience beats my own in terms of time with rust and breadth in gamedev. #rustlanghttps://news.ycombinator.com/item?id=40172033