Sound Change Applier: Features and Planning
Anthologica Universe Atlas / Forums / Site Help and Bug Reports / Sound Change Applier: Features and Planning

? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía message
Much of Atlas's language management features require a sophisticated SCA, one that can be used both for inflection and diachronics. If possible I want to include everything that people, realistically, think they'll need.


So far the Atlas Sound Change Applier supports the following features:

Paired classes. Standard for SCAs, but I've extended it a little. See the SCA page for an example: P and N are paired, so that if you spot an unvoiced plosive, you can write it as P1 and refer to N1 later to get the corresponding nasal. You can also write P2 and N2 to get a possibly-different pairing, and vice versa; the number is an arbitrary number like \1 or $1 in a regex for bracket capturing. Zompist's SCA fatally screws this up: there's only one index allowed, and it's always the first one matched. Other indices discovered in the search pattern are just ignored!

Metathesis. This is one of the easy consequences of paired classes, and is demonstrated in the sound changer's default example. (I don't think any other SCA has flexible support for this, so I'm rather proud of it.)


Upcoming features:

Epenthesis. (Partial support.) The Atlas SCA doesn't yet support recognition or output of characters not part of a class, so things are still messy.

Direction. Unlike a regex, sound changes can propagate and feed back in both a forward direction and backward direction through a word. Right now the basic implementation permits only non-overlapping changes.

Digraphs and complex multigraphs. This is required for complex tonal systems. Nort keeps mentioning it sardonically, so I figured it was worth putting on the list.

Recognition of word start/end.

Blank characters. The simple ability to ignore and preserve characters in a given environment without judging.

Mnemonic class names. Like SCA², <nasal> instead of N.

Optionals. Haedus SCA uses ?, like a regex, to indicate a character is not necessary.


Possible features that need feedback:

Separate context field. Is it easier to specify a sound change when you separate the environment from the search pattern? It certainly seems more standard in linguistics. Right now we have parentheses to indicate the focus, e.g.
N1(P1)V/N1
changes nasal + plosive to nasal + nasal before any vowel. One real benefit of this is that it makes it easier to specify multiple environments with a single rule (as noted in Haedus SCA's to-do list)

Negation of context, especially stuff that can't be specified with negative categories, such as "not at the beginning of the word." SCA² handles this with an extra context field that, I think, is applied after the normal context field, but I'm not sure if this is enough! Alternatively, it may be better to just come up with tokens that mean "not at the beginning of the word" and "not at the end of the word". What do you guys think?

Other regex matching features, from Haedus SCA: + (one or more of preceding thing), * (zero or more), and some way of saying category A or category B. I can understand the last one, but I'm not sure the first two are realistically useful in conlanging; none of Morrígan's examples use them.

Syllable definitions, to make inflectional infixes easier. Not sure what this would look like or how it would work, but an inflectional SCA that can detect syllable boundaries is potentially very valuable.
? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía message
I've recently fixed support for break in Octavia, so it should get a lot easier to return to working on this. (Previously it couldn't be used from within a nested block, e.g. an if() {} statement inside of a while() {}.)
? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía message
Oh, also I'm thinking ASCA is kind of a lame name. How does everyone feel about calling it Klunk?
? Radius C / 2π
posts: 113
, Hydrogen message
I don't know, but ASCA is already taken by another SCA, though I forget whose it is and the first A stands for something else.
? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía message
Yeah, I think someone mentioned that previously, which is what prompted me to reconsider.
? Nessari ?????? ?????? ????????
posts: 932
, Illúbequía message
Klunk (possibly with silly diacritics for show) sounds awesome.

And I think the other one was Another SCA.
? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía message
Runner-up names:
sca³
yet another SCA
Manager for Advanced Linguistic Word Alteration and Relex Extrapolation
Confusing Rule Applier Program
yay, words!
? Nessari ?????? ?????? ????????
posts: 932
, Illúbequía message
Anthological Language Transforminator Enlightenedly Redesigning Innovations Near Grammar, Flexibly Operating Radicals, Your Output Unlimited.
? KathTheDragon Beware the Dragon
posts: 92
, Baroness, United Kingdom
message
How's this coming along?
? Rhetorica Your Writing System Sucks
posts: 1292
, Kelatetía, All Your Base Are Belong To Us
message
There were some nasty bugs in the platform when I first started working on it that made it pretty hard to progress. I'm probably going to have to scrap it and start over, though fortunately not much will be lost. I hope to rebuild and start extending again by the end of the month.