buck2
rfcs
Our great sponsors
buck2 | rfcs | |
---|---|---|
31 | 8 | |
3,300 | 57 | |
2.7% | - | |
10.0 | 4.3 | |
3 days ago | 11 days ago | |
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.
buck2
-
Tech Debt: My Rust Library Is Now a CDO
https://buck2.build/ https://github.com/facebook/buck2
Rust support is also rather good ;) https://github.com/facebookincubator/reindeer
-
Things I learned while building projects with NX
Buck 2 by Facebook
-
Declarative Gradle is a cool thing I am afraid of: Maven strikes back
NOTE: I won’t mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also won’t discuss Kobalt for the same reason (besides, it’s no longer actively maintained). Additionally, I won’t touch upon Bazel and Buck in this context, mainly because I’m not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments 👇
-
Reason to use other Build Tool than Make?
There's a new build system which works on similar ideas to buck: https://buck2.build/
-
Hello r/Rust! We are Meta Engineers who created the Open Source Buck2 Build System! Ask us anything! [Mod approved]
I don't think all these pieces are open source yet, but https://github.com/facebook/buck2/blob/main/prelude/rust/rust-analyzer/resolve_deps.bxl is a snippet that is used to drive Rust Analyzer
- [Buck2] Consider WASM Instead of Starlark
- Buck2
-
Buck2: Our open source build system
We have a small example project that demonstrates what that would look like with buck2: https://github.com/facebook/buck2/tree/main/examples/bootstrap
- Buck2 from Facebook
-
Build faster with Buck2: Our open source build system
There are a few references to NixOS on the code/issues.[0] I wonder what Meta's use case is for NixOS.
[0] https://github.com/facebook/buck2/search?q=nixos&type=issues
rfcs
-
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.
-
Blog Post: Next Rust Compiler
I think with Cranelift's investment into an e-graph based optimizer (https://github.com/bytecodealliance/rfcs/blob/main/accepted/cranelift-egraph.md) they are well positioned to have quite competitive performance as a backend.
-
Inko in 2023
They're also actively working in this area, for example the recently added equality saturation framework and the pattern matching DSL it builds on.
-
Wasmtime Reaches 1.0: Fast, Safe and Production Ready!
There's an RFC here: https://github.com/bytecodealliance/rfcs/pull/28 and Saúl Cabrera, the person who is leading this effort and implementing the compiler tier, has a work-in-progress draft PR here: https://github.com/bytecodealliance/wasmtime/pull/4907
- Cranelift: Using E-Graphs for Verified, Cooperating Middle-End Optimizations
- Cranelift Progress Report: A Look Back at 2021
What are some alternatives?
turbo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turbopack and Turborepo.
reduze - Zig program reduction is upstream in compiler due to various parser + formatter interactions.
Bazel - a fast, scalable, multi-language and extensible build system
libaco - A blazing fast and lightweight C asymmetric coroutine library 💎 ⛅🚀⛅🌞
HHVM - A virtual machine for executing programs written in Hack.
design
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS
spiderlightning - A set of WIT definitions and associated implementations to enable app developers to work at a faster pace and require less knowledge of the environment in which they are executing.
PyOxidizer - A modern Python application packaging and distribution tool
marker - An experimental linting interface for Rust. Let's make custom lints a reality
buck2-prelude - Prelude for the Buck2 project
wasmtime - A fast and secure runtime for WebAssembly