Looks cool! Would love it if the README included a side-by-side of a Makefile and the equivalent Smakefile. For me at least, that’s the most effective way to be convinced to try a new tool.
That’s not a bad idea, but I’m not entirely sure if it works in this case. Take the simple example included in the repo; it has no Smakefile, yet the Makefile, which was generated by just running smake in the directory, is one with proper incremental builds with dependency tracking, multiple build configurations, install/uninstall targets, etc.
If that example project did have a Smakefile, it would just be to set the PROJNAME variable explicitly instead of letting smake infer it from the directory name.
It’s been really fun watching this project develop, thanks for continuing to make time for blog posts!
Thanks, glad you’re enjoying it! Now I really hope the project reaches its stated goal, at least the OSH portion :) Otherwise I will feel silly.
By the way, I’m serious about what I wrote in these comments – if somehow Python + re2c + ASDL turns out to be a dead-end, then I think all the docs I provided will make it significantly easier for a few people to come along and replace bash in a more “normal” way.
That is, rewrite the OSH algorithms and data structures in C++ or Rust. They can take advantage of the enormous and well-tested lexer, and the type definitions for the syntax tree. (I think C++ and Rust are the main languages that make sense.)
I should write a meta- blog post linking to the everything. It’s probably 60-80% documented!