sound change applier rules are a stupid DSL: the simpler the applier, the stupider the DSL
has anyone tried approaching the problem from the other way round — rather than starting from HERE IS A PORKROM THAT TAKE A LISZT OF WERD AND DO x > y / _fart TO IT, then coming up with some special cases, and only exposing these few rules to the user, instead starting with a full scripting language and writing modules to cover some common cases, but without losing the full power of python, or perl, or ruby or whatever kinky shit you like best?