pasts
ghost-collections
pasts | ghost-collections | |
---|---|---|
6 | 8 | |
110 | 175 | |
4.5% | - | |
4.0 | 1.8 | |
11 months ago | almost 3 years 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.
pasts
-
`alternator` gives an async function access to data but gives it back on await points
This was one of the original ideas behind pasts. I wanted to share data on a single threaded executor without using RefCell, so I created the Join struct api (renamed and redesigned many times). I'm curious what you think of that approach.
-
Pasts - A No-Std Compatible Async Runtime
Pointing out that you're comparing apples to oranges. First off, that example isn't marked #[no_std], that means it will not work on no-std. It's not the same example. You need to define a panic handler, eh_personality and an allocator all of which are conviniently ignored in your linked example because it targets std instead of no-std. If you look at the actual equivalent example in pasts, it is actually not more boilerplate: https://github.com/ardaku/pasts/blob/stable/examples/timer.rs
ghost-collections
-
`alternator` gives an async function access to data but gives it back on await points
Apart from that, I goofed around and implemented some collections on top, to test the ergonomics.
-
Is it possible to solve LeetCode problem#141 Linked List Cycle using Rust?
I read a while ago about a paper on a concept called GhostCell, and i believe it solves this problem in safe rust with zero runtime overhead. I just found this implementation, but I didn't have time to read it: https://github.com/matthieu-m/ghost-collections/blob/master/src/linked_list.rs Anyway, from my understanding, if you want to implement some sort of non trivial data structure in rust efficiency, you have to use a little bit of unsafe code. I believe this isn't the case thanks to GhostCell (if my understanding of the problem it aims to solve is correct)
-
std::map::find_if()?
In the tripod_tree container -- just a binary tree, really -- I exposed a cursor modeled after Rust's LinkedList Cursor.
-
Why can't the compiler implement RefCell, and have it be a compile-time issue?
GhostCell is powerful enough to implement doubly linked lists in safe Rust which is quite a feat. https://github.com/matthieu-m/ghost-collections
-
GhostCell: Separating Permissions from Data in Rust
May I interest you in https://github.com/matthieu-m/ghost-collections ?
-
A Firehose of Rust, for busy people who know some C++
It's fairly complicated: https://github.com/matthieu-m/ghost-collections/blob/master/src/linked_list.rs
-
The Rustonomicon
> I think linked lists are a great example of something that causes Rust's ownership model to fall apart. I've seen it done with tradeoffs, but it's something that you're best off implementing with pointers and unsafe blocks
It's worth checking https://plv.mpi-sws.org/rustbelt/ghostcell/ and https://github.com/matthieu-m/ghost-collections for an alternate approach that's currently being worked on.
Quite non-intuitive and it has yet to be proven 100% safe, plus it doesn't actually obviate everything you might want to do w/ potentially-aliased pointers, meaning that some desirable patterns are still off-limits - but it has the best chance of working out so far.
-
Is it possible to write overhead-free cyclic data-structures in safe, stable Rust?
I managed to implement the basic operations of the LinkedList this way, as well as a full Cursor, then I hit a wall.
What are some alternatives?
tarpc - An RPC framework for Rust with a focus on ease of use.
qcell - Statically-checked alternatives to RefCell and RwLock
wasm-futures-executor - Executor for asynchronous task based on wasm web workers.
static-rc - Compile-time reference counting
async-graphql - A GraphQL server library implemented in Rust
cargo-geiger - Detects usage of unsafe Rust in a Rust crate and its dependencies.
rust - Empowering everyone to build reliable and efficient software.
orz - a high performance, general purpose data compressor written in the crab-lang
rust-rdkafka - A fully asynchronous, futures-based Kafka client library for Rust based on librdkafka
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
smol - A small and fast async runtime for Rust
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266