Theiling Online    Sitemap    Conlang Mailing List HQ   

Re: *mumble* *grumble* sound changes *mutter* (longish)

From:Benct Philip Jonsson <bpj@...>
Date:Friday, April 28, 2006, 20:45
Henrik Theiling skrev:
> Hi! > > Benct Philip Jonsson <bpj@...> writes: > >>... >>I think one useful thing to do, and hopefully easy to >>program(?), would be to make it possible to define a macro >>group the members of which will be ignored unless explicitly >>invoked in the match or context, and into which one could >>throw stressmarks, lengthmarks, aspiration marks and other >>character/character sequences that have a >>"diacritic"/modifier function. That way one can write a >>rule like >> >> g > j / _ '? (i,e) >>... > > > My plan is to be able to define and assign abstract properties to > syllables (or other subdivisions) that the resulting library would > automatically propagate, i.e., you'd not need to assign diacritics > (but maybe you'd be allowed to do so), but you could use a property > name directly. This is a bit of work, but it's generic, and that's > usually what I like best.
I agree in principle, but how do the properties travel between steps, or even between steps of different modules, and how do they get into the output file? At some point one *needs* to get it as actual characters in a string.
> Indeed, the handling of a lengthening mark is also something that is a > bit ugly, and I had to use :? after vowels quite often myself. OTOH, > most of the time, the sound changes were sensitive to vowel length, so > I wasn't annoyed enough to think about an elegant solution.
I see. However I have somewhat alleviated the situation by including all the combinations of vowel, lengthmark and stress mark in the vowel group, so that I can use catch rules like 'V: > _ and groups like "frontvowel" "backvowel" but the vowel group gets very swollen as a result.
>>... >>BTW your subrule precedence principle is great! >>I could write the Swedish vowel shift in the order >>things actually happened: >> >> a: > o: -- a: isrounded and raised >> o (C,V) > _ -- short o is not affected >> o: > u: -- long o: is raised >> u > ü -- old u, long or short, is fronted. >> >>Without subrule 1 feeding subrule 3, which in turn >>does not feed subrule 4! Yeah! > > > Thanks! :-) This is one major reason I wanted to use something > different than plain Perl regexps, since such parallel changes often > occur in natlangs. It is also one reason why the resulting code > is so slow -- I neglected any code optimisation on purpose so far > to not distract myself from the primary goal of having something > I could use. So code optimisations are also on my TODO list. > > **Henrik
Roger Mills skrev: > I may be missing something in all the programming > discussion, but as to these 4 rules, IIRC in generative > phonology it's not legitimate to impose conditions like > "this rule N does NOT feed rule N+..."-- I could be > wrong, since it's a while since I worked with rule > writing...(and it may be, when one computerizes a set of > phono.rules, it's permissible to impose such conditions) We are fortunately not doing Generative Phonology here, merely canibalizing the better aspects of its notation conventions. The need for catch rules is primarily a artifact of the notation: *if* we had a single uncompounded character (in the computer sense) for each long and short vowel we'd need no catch rules. > To avoid feeding order, these rules would have to be > ordered just the reverse 4 - 3 - 1 (2 can go anywhere). > To maintain your 1 -- 3-4 order, the o: output of Rule 1 > has to differ _in some way_ (environment? phonetically > i.e. some feature or other?) from the o: input to Rule > 3; similarly the u: output of Rule 3 vis-à-vis input to > Rule 4. That's one of my beefs with GP -- actually the major one: whats the point in having to state things in the reverse order from what actually happened. No level of abstraction can make me accept that. BTW the inability to handle chain shifts was one of the earlest recognized weaknesses of GP. FWIW you can safely omit the o > _ catch rule in this case, since all the other subrules explicitly specify the *long* /o:/. The mention of short /o/ not being affected is mostly a reminder to myself, since different things happen to it later in different dialects: in some it merges with /o/ from shortened /o:/ < /a:/, in other it becomes /3\/. > Are you sure that's the actual historical sequence? > (Asked he, ignorant of Swedish...) I'm 110% sure it was a push chain, since Danish also raised-rounded /a:/ and raised /o:/, though not all the way to /u:/, and /u(:)/ remained in place without fronting -- Danish just ended up with an extremely crowded back vowel space (and later an extremely crowded front vowel space also, since the remaining [A] and [A:] resulting from its lengthening escaped frontward, even to [E:]!) -- /BP 8^)> -- Benct Philip Jonsson -- melroch at melroch dot se "Maybe" is a strange word. When mum or dad says it it means "yes", but when my big brothers say it it means "no"! (Philip Jonsson jr, age 7)