Coding 2020-05-14

By Max Woerner Chase

I came up with a more concise interface for creating phonological rules in my sound change rewrite, so now it only takes up 20 lines, which is fine.

My next concern is that the current design operates on specific named phonemes, and explicit collections of them. I'd like to overhaul it to work with distinctive features, which would simplify some of the rule definitions. First, though, I need to figure out which theories of distinctive features I want to support, and how to do so. This is a question of specification, and I can't fall back on replicating behavior or porting tests this time.

Here's what I've got from a cursory inspection of Wikipedia and its sources:

Since I'm currently interested in this for the potential to improve phonological rules, I'm not interested in totally general applicability, just how different approaches apply to phonological rules specifically. Also, for some of this I sort of have an out, in that, whatever categories of feature I include, I don't have to model the details of the feature in the low-level implementation code.

Speaking of that code, at a high level, there are just a few basic tasks that have to be supported:

This last one is, I think, most likely to be problmatic, especially with some of the theories I mention above.

For example, suppose a phoneme changes its place of articulation, perhaps due to assimilation. If doing so causes it to gain or lose featural distinctions, how do I account for that? This sounds like an obvious question to ask, so it should have an answer in the literature already. Hopefully, it's out there, and I just havn't seen it yet because I'm only skimming right now because it's late.

Anyway, tomorrow I'll work on research and specification. I might also start breaking the code up some, because working with a 500-line module is still super-obnoxious.

Good night.