algebra
borrowme
Our great sponsors
algebra | borrowme | |
---|---|---|
4 | 3 | |
541 | 47 | |
2.8% | - | |
8.6 | 6.7 | |
3 days ago | about 2 months ago | |
Rust | Rust | |
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.
algebra
-
Müsli - An experimental binary serialization framework with more choice
Love seeing the work on modes! There's definitely a use for this in cryptography, where you might want to serialize things containing elliptic curve points, which can be serialized in both "compressed" form and "uncompressed" form. We make extensive use of this in our serialization framework in arkworks: https://github.com/arkworks-rs/algebra/tree/master/serialize
-
What application will make Rust its prime ?
Rust takes the cake in the blockchain space: Substrate, Cosmos (CosmWasm), and Solana. All of the zero knowledge cryptography libraries used for layer 2 solutions are written in Rust, compiling to Wasm (see arkworks, Risc0). Ethereum's next version of smart contracts will even use a restricted subset of Wasm ("Ewasm") instead of EVM.
-
Example of how of `disallowed_method` Clippy lint in Rust 1.54 can be quite handy
Is ark a prefix Embark is using for all their Rust crates, or is it a one-off name for your future crate? If so, it might collide with our naming convention in the arkworks ecosystem: arkworks.rs
-
Best way to enforce correctness of modular arithmetic?
You can take a look at our approach in the arkworks library: https://github.com/arkworks-rs/algebra/blob/920070c60d481a29fb3c262ef9579f34cbb053a6/ff/src/fields/macros.rs#L103
borrowme
-
Müsli - An experimental binary serialization framework with more choice
"Borrow heuristics" saves a lot of configuration. It's basically just the macro analyzing the type signature of fields for references and with that it can do the right thing 95% of the time. If those lifetimes weren't there I suspect it would mean having to use a helluvalot of attributes to make up for the lack of markup doing it the other way around (think of cases where there's multiple lifetimes). Unclear how it should work for nested types too, like how you'd want Vec> to be a Vec>. Some strange attribute would be needed I think.
-
borrowme 0.0.10 - the missing compound borrowing for Rust
I noted in my comment above that I was working on it. Here's the current PR.
What are some alternatives?
curve25519-dalek - A pure-Rust implementation of group operations on Ristretto and Curve25519
musli - Müsli is a flexible and generic binary serialization framework
mathjs - An extensive math library for JavaScript and Node.js
bounded-static - A Rust crate that defines the ToBoundedStatic and IntoBoundedStatic traits
gridiron - Rust finite field library with fixed size multi-word values
rkyv - Zero-copy deserialization framework for Rust
rust - Empowering everyone to build reliable and efficient software.
json - Strongly typed JSON library for Rust
Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.
jpv - My personal Japanese dictionary based on JMdict
parking_lot - Compact and efficient synchronization primitives for Rust. Also provides an API for creating custom synchronization primitives.