<!>Sound Change Appliers (2014-09-12 12:09:49)
Sound Change Appliers
Anthologica Universe Atlas / Forums / Miscellaneria / Sound Change Appliers / <!>Sound Change Appliers (2014-09-12 12:09:49)

? MorrĂ­gan Witch Queen of New York
posts: 303
, Marquise,
message
Not really an update (theorypost?), but I'm working on the metathesis functionality. Still gotta do some work, but I have an approach that should be fairly efficient and also powerful. Conceptually, it's straightforward so I can probably get it done this weekend. It does involve some substantial refactoring of the rule-application code, but I already have a lot of unit tests that should cover the relevant tests-cases.

So, basically the way we are gonna do it is as follows: when you write a rule, each variable reference will be automatically indexed, so in CN > $2$1, the SCA will notice C first and index it as 1. Then the SCA basically checks if the source pattern CN matches anywhere in the word. In the process of determining if it is a match, it will keep track of which element of C it starts with, which is stored and used to generate the new string.

Not 100% what the notation will be for using the same index on a different variable, but perhaps CN > N2G1 or CN > $N2$G1. When parsing the rule, the SCA can ensure that C and G have the same number of elements.

I haven't attempted to do this yet, but it might also be possible to have SCA infer the mapping, so that if you write CN > NC it can tell that 1) you've used the same symbols and 2) if C and N have different sizes, that you've used different variables which have the same numbers of elements. This could be overkill though, and seems likely to produce unintended consequences.