The search for the most appropriate data structure for an SCA cannot be separated from the quest for the definitive theory of phonology. I've recently investigated Dependency Phonology and Radical CV Phonology, both of which have some interesting ideas but - the latter in particular - are not easy to turn into code. But something else occurred to me, which I began to investigate. Briefly, you start with some "basic" or "fundamental" phones or phonemes, such as /p t k/ and /i a u/, and derive the others from them via successive processes. For example:
- /p t k/ -> /b d g/ (voicing), f s x/ (frication), /pf ts /kx/ (affrication), and /m n ŋ/ (nasalisation)
- /b d g/ -> /v z ɣ/ (frication), also from /p t k/ by voicing
- /f s x/ -> /ɸ θ χ/ (whatever you call the removal of the feature [+strident]
and so on; the intention being that any phone or phoneme woudl be represented as a series of derivations from one (or possibly more, in the case of vowels) of the fundamentals. I don't know how many processes you'd need, and I'm not sure how you'd get to /ʧ/, but there might be something here. Any ideas?
Note: By "basic phone" I don't mean something like
this, just to clear up any confusion.
Self-referential signatures are for people too boring to come up with more interesting alternatives.