miri
rune
Our great sponsors
miri | rune | |
---|---|---|
120 | 21 | |
3,931 | 1,535 | |
3.0% | 2.8% | |
10.0 | 9.0 | |
5 days ago | 7 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
miri
-
RFC: Rust Has Provenance
Provenance is a dynamic property of pointer values. The actual underlying rules that a program must follow, even when using raw pointers and `unsafe`, are written in terms of provenance. Miri (https://github.com/rust-lang/miri) represents provenance as an actual value stored alongside each pointer's address, so it can check for violations of these rules.
Lifetimes are a static approximation of provenance. They are erased after being validated by the borrow checker, and do not exist in Miri or have any impact on what transformations the optimizer may perform. In other words, the provenance rules allow a superset of what the borrow checker allows.
- Mir: Strongly typed IR to implement fast and lightweight interpreters and JITs
-
Running rustc in a browser
There has been discussion of doing this with MIRI, which would be easier than all of rustc.
-
Piecemeal dropping of struct members causes UB? (Miri)
This issue has been fixed: https://github.com/rust-lang/miri/issues/2964
- Erroneous UB Error with Miri?
-
I've incidentally created one of the fastest bounded MPSC queue
Actually, I've done more advanced tests with MIRI (see https://github.com/rust-lang/miri/issues/2920 for example) which allowed me to fix some issues. I've also made the code compatible with loom, but I didn't found the time yet to write and execute loom tests. That's on the TODO-list, and I need to track it with an issue too.
-
Interested in "secure programming languages", both theory and practice but mostly practice, where do I start?
He is one of the big brains behind Miri, which is a interpreter that runs on the MIR (compiler representation between human code and asm/machine code) and detects undefined behavior. Super useful tool for language safety, pretty interesting on its own.
-
Formal verification for unsafe code?
I would also run your tests in Miri (https://github.com/rust-lang/miri) to try to cover more bases.
-
Ouroboros is also unsound
You can run miri and it will tell you if the given run triggered any undefined behavior. It will not analyze it for every possible use of the code, but checking for the presence of this specific issue using it should be fairly simple.
-
From Stacks to Trees: A new aliasing model for Rust
If you do encounter a piece of code on which TB performs much worse than SB, do submit it as an issue! There was one recently and we massively improved TB performance on this case by improving garbage collection.
rune
- RustPython
-
Steel β An embedded scheme interpreter in Rust
A Lisp, a weird dialect of Lisp, is not better than Lua. Why use Rune [0]?!
[0]: https://rune-rs.github.io/
-
Embeddable Scripting Language for Embedded Rust
This is what I based my comment on - https://github.com/rune-rs/rune/issues/444
-
-π- 2022 Day 13 Solutions -π-
Late start today as well. I really thought today would be the day that I'd have to abandon my goal of no heap allocations. But, luckily I had an arena allocator available that I could fairly easily adapt to store data on the stack. And with some tweaks we have today's solution:
- α£ the Rune Programming Language
-
thought you guys might like this monstrosity i created (that i actually use in a project)
I'd have given you bonus points for using a rust styled scripting language like rune but that's pretty neat still
-
Visual scripting for Rust
As note about using rust syntax for scripting: https://rune-rs.github.io/
-
Designing a Rust -> Rust plugin system
I know you said you donβt want to embed another language but IMO Rune is worth a consideration here. It can be a pretty thin abstraction over rust by passing native structs to scripts and calling methods on them. The syntax and semantics are very close to rust so it feels natural. https://github.com/rune-rs/rune
-
Rune vs Rhai?
The biggest technical difference I'd say is that Rune uses a stack-based machine which makes adding deep C support somewhat obvious while Rhai performs AST walking to execute scripts.
-
How a Single Line of Code Made a 24-core Server Slower Than a Laptop
Here is the repro I ended up writing to validate the problem if anyone wants to take it for a spin.
What are some alternatives?
cons-list - Singly-linked list implementation in Rust
Rhai - Rhai - An embedded scripting language for Rust.
sanitizers - AddressSanitizer, ThreadSanitizer, MemorySanitizer
RustPython - A Python Interpreter written in Rust
rust - Empowering everyone to build reliable and efficient software.
mun - Source code for the Mun language and runtime.
Rust-Full-Stack - Rust projects here are easy to use. There are blog posts for them also.
miniserve - π For when you really just want to serve some files over HTTP right now!
rfcs - RFCs for changes to Rust
Flux.jl - Relax! Flux is the ML library that doesn't make you tensor
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
gluon - A static, type inferred and embeddable language written in Rust.