People criticize redo for not having significant advantages over existing build system and thus not driving mass adoption. When you look at the source notes and the way it's implemented though, you should realize it embodies one of djb's most advanced programming concepts yet, something i call declarative-imperative style. Basically the natural conclusion of partitioning your program into small, loosely coupled processes and passing state through pipes, argv chaining, or the filesystem, is that declarations can themselves be part of a regular script invoked from a special runtime environment.
At the moment i'm using this paradigm to write a package management and ports integration system for my own personal use.