C is ubiquitous, and C++ nearly as much, but I'm curious which other languages follow a similar model of header files.  Specifically, in which other languages is it idiomatic to edit pairs or groups of header and implementation files?  (A group as in multiple headers with one corresponding implementation file or a single header with multiple implementation files, as also seen in C.)  For example, the pair blah.h and blah.c.C's header files are tied into the C preprocessor, but that's not the detail I'm focusing on here.  For example, PHP has various include mechanisms, but you don't have a pair/group of blah-header.php plus blah-notheader.php.Some languages generate a file from source in a one-to-one mapping, such as Java, but that's not what I'm talking about either.  I'm interested in cases where the programmer directly edits both/all files in the pair/group.Perhaps to put it another way: which languages have a declaration file (header) and definition file (implementation) such that a person would generally edit both files in tandem?
Which languages use paired header/implementation files?
programming languages;file structure;headers