Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Shake Alternatives
Similar projects and alternatives to shake
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
-
-
-
-
-
regex
An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
buildroot
Buildroot, making embedded Linux easy. Note that this is not the official repository, but only a mirror. The official Git repository is at https://gitlab.com/buildroot.org/buildroot/. Do not open issues or file pull requests here.
-
-
-
-
-
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
shake discussion
shake reviews and mentions
-
Just: Just a Command Runner
> The point is that there's often no way way to express "I want side effects" in declarative tools, and the number of side effects that might be useful is vast.
Shake (https://shakebuild.com/) is pretty good about letting you specify that a specific step produces multiple artifacts.
I suspect Nix can do the same?
> Some other systems (e.g. bazel/blaze comes to mind) actively try to hide side effects like stdout.
Yes, blaze isn't all that great. You can tell, because Google folks check in generated artifacts into their repositories, instead of wrestling with getting blaze to build them.
-
Ninja is enough build system
Another interesting implementation is Shake: https://shakebuild.com/
It is technically a Haskell DSL, but supports Ninja files, time estimates and has tools for linting and profiling.
-
Buck2: Our open source build system
They explicitly refer to Shake build system and Build Systems a la Carte paper.
-
Straightforward Makefile Tutorial that bring together best practices once and for all.
The one paper that gave me hope about build systems was Build systems à la carte: Theory and practice, by Andrey Mokhov, Neil Mitchell, and Simon Peyton Jones. Among other things, it describes the theoretical underpinnings of the Shake build system. To be honest I believe any build system that ignores the maths described in this paper can safely be ignored. (You may however ignore the paper itself if the maths checks out. See Daniel J. Bernstein's redo, which matches Shake very closely.)
-
Worst language you ever used? Really used not just looked at the manual.
Yeah, they don't have to be terrible. I haven't used it, but people in my circles tend to really like Shake, which uses a Haskell embedded DSL to describe builds.
- Shake Build System
-
Strengths, weaknesses, opportunities, and threats facing the GNU Autotools
You could try Shake. It's a sane build system written by a former co-worker of mine. https://shakebuild.com/
-
Overview of the CMake controversy, and break down the pros and cons of the critical C++ tool.
Shake does require compilation as it's essentially just a Haskell library providing a DSL and it works just fine, I guess in gradle's case it's a thing about Java-typical overengineering and complete blindness to resource usage. Shake's underlying engine can actually go head-to-head with ninja itself when building ninja files.
-
Need recommendations for a dependency-tracking system
Did you look at shake: https://shakebuild.com/ ?
- The Shake Build System
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 19 Mar 2025
Stats
ndmitchell/shake is an open source project licensed under BSD 3-clause "New" or "Revised" License which is an OSI approved license.
The primary programming language of shake is Haskell.