Daniel J. Bernstein's redo idea is a system for building target files from source files.
I originally wrote improved versions of Alan Grosskurth's 2007 implementation in shell scripts.
This package is a complete reimplementation from the ground up, in a compiled programming language rather than an interpreted one, that I then wrote.
The redo utilities rely upon a hash function to detect file changes, rather than checking last modification timestamps as make systems do. Because redo originated with Bernstein, I chose Bernstein's entry to the 2007 NIST SHA-3 competition, Bernstein CubeHash, for that hash function.
Specifically, the hash function is Bernstein's SHA-3-AHS256 proposal from 2010-11, which parameterizes CubeHash as 16+16/32+32-256.