When building models of the evolution of languages or similar phenomena where many different languages are involved and change over time, how do computational linguists abstractly model a language?
It seems like the canonical computer science approach of just considering a subset S of all strings on 0 and 1 will ignore too much of the structure that linguists care about. Thus, if building a computer simulation, or trying to do mathematical/theoretical linguistics, is there a canonical way for researchers to represent languages?
The primary interest is in an abstract approach that is easy to work with computationally or mathematically but that captures some (or all) of the features of a language one might typically care about.