It's not impossible to imagine a language like C, but with the additional property that any (non-static) function defined in any input file can be used (without a prototype/header) in any other input file. (I.e. all 'undefined function' errors are replaced by a lookup once everything has been compiled.)
Of course, the above model will most likely increase (re-)compilation times.
Of course, the above model will most likely increase (re-)compilation times.