def-gthill / lexurgy

A high-powered sound change applier
GNU General Public License v3.0
44 stars 5 forks source link

Feature variables don't capture the default #2

Closed def-gthill closed 3 years ago

def-gthill commented 3 years ago

This simple vowel harmony system behaves as expected:

Feature Type(*cons, vowel)
Feature Height(low, high)
Feature Depth(front, back)

Symbol a [vowel low back]
Symbol e [vowel low front]
Symbol i [vowel high front]
Symbol u [vowel high back]

harmony [vowel] propagate:
    [] => [$Height] / [$Height] _

But if I make low and front the default, this equivalent system fails to copy the default values:

Feature Type(*cons, vowel)
Feature Height(*low, high)
Feature Depth(*front, back)

Symbol a [vowel back]
Symbol e [vowel]
Symbol i [vowel high]
Symbol u [vowel high back]

harmony [vowel] propagate:
    [] => [$Height] / [$Height] _

Here's a sample set of input words:

kaki
putatu
ichegaku
epistrefu

The first sound change file produces the expected:

kake
pututu
ichiguku
epestrefa

The second file produces:

kaki
pututu
ichiguku
epistrifu

It copies the high value rightward across the word, but not the low value.

def-gthill commented 3 years ago

Fixed in 0.5.1