shake
cppreference-doc
shake | cppreference-doc | |
---|---|---|
11 | 56 | |
755 | 405 | |
- | - | |
6.7 | 0.0 | |
4 months ago | about 1 year ago | |
Haskell | HTML | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
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.
shake
-
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
-
Trouble Linking Dynamic Library for Package
For reasons I don't want to get into, I am building my own GHC package without cabal. The documentation is a little sketchy, but I've succeeded in build and installing it in my own user database (I'm on linux x86_64, using GHC 8.6.5). I am using shake to do all of this, and I've been pretty pleased with how it works.
cppreference-doc
-
Looking for well written, modern C++ (17/20) example projects for microcontrollers
Rather than looking at good examples (which you should by all means do), add cppreference.com to you bookmarks and use it as your reference. By far the best C++ reference on the net. (from a C programmer who was thrown into C++ a decade ago -- slowly digesting C++20 now) Both StackOverflow.com and electronic.stackexchange.com are two additional QA sites that can help.
-
My first C++ project! A "mostly sane" C++ coroutine helper library
Sadly, not much. My method of learning is to get my hands dirty and waste a lot of time doing things wrong before I do them right. The only resource (outside of Google and StackOverflow) that I always had open was https://en.cppreference.com
-
C++ switch problem
In general, https://en.cppreference.com is your friend.
-
Can sanitizers find the two bugs I wrote in C++?
> As a C++ language reference I highly recommend https://en.cppreference.com
I'd be careful about such re-formulations of the Standard. When I was adding printf format checking to the D compiler, I discovered there were subtle discrepancies in the description of exactly how printf behaves. I went back to using the Standard.
-
Ask HN: What are great resources to catch up C++?
Modern C++ code now looks very different to even C++11 code which is considered to be the start of modern C++.
"A Tour of C++" which has already been recommended is probably a good start to get back in the game. I think there was a new version coming out, but not sure what the current status about this is.
[https://en.cppreference.com](cppreference.com) is a good resource for me. It has documentation regarding the new standards as well and up to C++20 the examples are mostly complete, at least for the relevant things.
I can also recommend watching the "Back to Basics" talks on the CppCon youtube channel and once you are more familiar also the regular talks. They are great resources about practical topics.
Jason Turner's C++ Weekly videos are also a great resource. They are usually 10-15 minutes long videos that give you a good start to think about. Great way to learn something new every week.
-
Why did rust Settle on snake_case?
At Google, at least, the style guide says to use snake case for variable names in C++ (but camel case for classes). As far as I can tell, this is also the convention in the C++ standard library.
-
wget keeps downloading forever, and stuff I don't want
Lets say that there's a file at https://en.cppreference.com/ called preferences.c. The command to download it would be wget https://en.cppreference.com/preferences.c
-
I am stuck in tutorial hell
I would start with a direction of where to apply C++. Updating legacy code, working on embedded systems, creating financial application and creating high performant games are a few common option. Also sites like cppreference and Compiler Explorer/Godbolt are your friends in learning. CPlusPlus.com might help with legacy support as it stops with C++11.
-
C++ #include errors detected
Keep in mind that most YouTube C++ tutorials are garbage. Use www.learncpp.com instead as a tutorial, and https://en.cppreference.com as a language reference. Once you familiarize yourself with the language, you can learn the best practices using the C++ Core Guidelines.
-
I'm struggling
The important thing to remember is that a concept exist and roughly what it's called, so you can look it up when you need to. You don't need to keep all the details in your head, that's what we have en.cppreference.com for.
What are some alternatives?
gitHUD - command-line HUD for your git repo
telescope-vimwiki.nvim - look through your vimwiki with your telescope
marvin - The paranoid bot (framework)
browser-compat-data - This repository contains compatibility data for Web technologies as displayed on MDN
leksah - Haskell IDE
cling - The cling C++ interpreter
shake-language-c - Cross-compilation framework based on the Shake Haskell library.
magic_get - std::tuple like methods for user defined types without any macro or boilerplate code
bumper - Haskell tool to automatically bump package versions transitively.
cgi-lib - A FREE ANSI C library for CGI programming.
clone-all - clone all the github repositories of a particular user.
stdrev - Script for cppreference, to control the amount of visible content