egg
Rustlings
egg | Rustlings | |
---|---|---|
25 | 289 | |
1,239 | 49,342 | |
2.7% | 2.0% | |
6.8 | 9.5 | |
10 days ago | 7 days ago | |
Rust | Rust | |
MIT License | MIT License |
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.
egg
-
An Introduction to Graph Theory
Maybe program optimization?
https://egraphs-good.github.io/
- The E-graph extraction problem is NP-complete
-
What is the state of the art for creating domain-specific languages (DSLs) with Rust?
For semantic analyzers, check out egg and egglog. They're custom data structures for representing compiler rewrite rules in a non-destructive way.
-
Ask HN: What is new in Algorithms / Data Structures these days?
E-graphs are pretty awesome, and worth keeping in your back pocket. They're like union-find structures, except they also maintain congruence relations (i.e. if `x` and `y` are in the same set, then `f(x)` and `f(y)` must likewise be in the same set).
https://egraphs-good.github.io/
(Incidentally, union-find structures are also great to know about. But they're not exactly "new".)
-
What are the current hot topics in type theory and static analysis?
I would add that Equality saturation/E-graphs has become quite a hot topic recently, since their POPL21 paper, with workshops dedicated to applications of e-graphs. They have even recently been added to Cranelift as an IR for optimizations.
-
Compiler Optimizations Are Hard Because They Forget
Egraphs solve the rewrite ordering problem quite nicely. https://egraphs-good.github.io/
Note that one solution to this problem is to use equality saturation (which, coincidentally, has a great implementation in rust!).
-
Modularity in IR representation and modification
Have you thought about trying to parallelize e-graphs? This way you can do a bunch of rewrite rules in parallel and then extract your desired graph at the end instead of having conflicts.
-
Any recommendations for good resources that show how algorithms and data structures are converted into fpga circuits
I think the equality saturation papers are a good start. A good start is egg. They have a presentation, a research paper and code you can play with. I think ultimately you want to translate arithmetic operations into logical operation that can be understood by the fpga. So I think it would be good to research how adders and multipliers are implemented in logic and ultimately include equalities between adders/multipliers with their logical counterpart. Note the this translation also depends on the representations of your numbers and their bit width.
-
Strategies for doing symbolic integration algorithmically
For rewriting, you may also find interesing equality saturation: https://egraphs-good.github.io/
Rustlings
-
GPUI 2 is now in production – Zed
Zed is great, have been using it to do the Rustlings exercises and learn Rust:
https://github.com/rust-lang/rustlings
If you've been looking for an excuse to learn Rust, check it out.
- I'm looking for practical Rust exercises
-
Avoid nested matches
Doing the rustlings conversions/from_into task which asks
-
Rustlings is the greatest thing ever
However, I stumbled across Tauri (as a replacement for Electron), and installed Rust just to get Tauri to work. A few days later, I installed Rustlings (https://github.com/rust-lang/rustlings) on a whim, and did the first exercise.
- CodeCrafters CEO adds his paid service as a next step after finishing Rustlings
-
Learning Zig
Rust also has something similar which is where I believe Zig drew inspiration from as well: https://github.com/rust-lang/rustlings
-
Bevy XPBD: A physics engine for the Bevy game engine
Rustlings gives a great introduction to the language:
https://github.com/rust-lang/rustlings
Disclaimer: I write JavaScript
- Learning Rust Recommendations?
-
Hi I’m a total newbie to programming but wants to learn rust as a first language.
Consider solving puzzles and exercises from rustlings and / or try the Rust track at exercism which I found very valuable.
-
Reached a new benchmark today, completed 1000 problems
Rustlings(for learning by doing): https://github.com/rust-lang/rustlings
What are some alternatives?
prose - Microsoft Program Synthesis using Examples SDK is a framework of technologies for the automatic generation of programs from input-output examples. This repo includes samples and sample data for the Microsoft Program Synthesis using Example SDK.
rust-koans - Koans for the Rust programming language
Symbolics.jl - Symbolic programming for the next generation of numerical software
rust-by-example - Learn Rust with examples (Live code editor included)
Catlab.jl - A framework for applied category theory in the Julia language
Exercism - Scala Exercises - Crowd-sourced code mentorship. Practice having thoughtful conversations about code.
Dagger.jl - A framework for out-of-core and parallel execution
book - The Rust Programming Language
glow - Compiler for Neural Network hardware accelerators
rust-learning - A bunch of links to blog posts, articles, videos, etc for learning Rust
StaticArrays.jl - Statically sized arrays for Julia
rust-by-practice - Learning Rust By Practice, narrowing the gap between beginner and skilled-dev through challenging examples, exercises and projects.