Page 1 of 1

SCA suggestions?

Posted: Tue Aug 31, 2021 4:42 pm
by Emily
sorry if this is inappropriate, but i had a thought for a feature that i would find helpful when i'm using the SCA, and that's being able to give it a command to repeat a certain rule over and over until it no longer yields any results. it would help with things like applying changes to a consonant cluster from one end or the other (e.g. turning /nts/ into /ndz/ or /sklj/ into /ʃcʎj/) but i'm sure there would be other uses for it as well

Re: SCA suggestions?

Posted: Tue Aug 31, 2021 5:02 pm
by zompist
(I'll move this to Ephemera later.)

I'll need an example to understand what you're asking. I just added a rule o/w/_ to the end of the default ruleset, and it properly changes all o's in a word to w's. So you must have something more complicated in mind, but I don't know what it is.

Re: SCA suggestions?

Posted: Tue Aug 31, 2021 5:41 pm
by Man in Space
I think she’s referring to feeding and counter-feeding.

Re: SCA suggestions?

Posted: Tue Aug 31, 2021 7:44 pm
by bradrn
No, she’s talking about iterative/overlapping application. e.g. if you have a rule ‘[-voiced] → [+voiced] / [+voiced] _’ and apply it to /nts/, then it should first change /nts/ → /nds/, then recognise that the environment of /s/ has changed and do /nds/ → /ndz/.

AFAIK there’s no easy way to get this in SCA². My own SCA does support it, but only for rules applied right-to-left:

Code: Select all

categories
Vcd = b d g z l m n
Vls = p t k s

Npal = p  t  k s l
Pal  = pʲ tʲ c ʃ ʎ j
end

; doesn’t repeat
Vls / Vcd / Vcd _

; does repeat
-rtl Npal / Pal / _ Pal

Re: SCA suggestions?

Posted: Tue Aug 31, 2021 11:00 pm
by zompist
bradrn wrote: Tue Aug 31, 2021 7:44 pm No, she’s talking about iterative/overlapping application. e.g. if you have a rule ‘[-voiced] → [+voiced] / [+voiced] _’ and apply it to /nts/, then it should first change /nts/ → /nds/, then recognise that the environment of /s/ has changed and do /nds/ → /ndz/.

AFAIK there’s no easy way to get this in SCA².
Sure there is: repeat the rule. (I just tested this; works like a charm.)

I think there are two problems with the proposed rule:
a) It's not clear that it's always desired behavior, so there would have to be a way to turn it off.
b) Because I allow things like epenthesis, I'm pretty sure applying rules to intermediate states would allow infinite loops.

Admittedly I'm lazy, but it seems to be there's a good workaround.

Re: SCA suggestions?

Posted: Tue Aug 31, 2021 11:15 pm
by bradrn
zompist wrote: Tue Aug 31, 2021 11:00 pm
bradrn wrote: Tue Aug 31, 2021 7:44 pm No, she’s talking about iterative/overlapping application. e.g. if you have a rule ‘[-voiced] → [+voiced] / [+voiced] _’ and apply it to /nts/, then it should first change /nts/ → /nds/, then recognise that the environment of /s/ has changed and do /nds/ → /ndz/.

AFAIK there’s no easy way to get this in SCA².
Sure there is: repeat the rule. (I just tested this; works like a charm.)
Yes, but that doesn’t work with arbitrarily long words. (Not that it’s a problem in practise, but it bothers me theoretically.) Also, it looks ugly.
I think there are two problems with the proposed rule:
a) It's not clear that it's always desired behavior, so there would have to be a way to turn it off.
In my SCA this is natural: I’d just add it as a flag option. I’m not sure how it could be retrofitted onto SCA² though.
b) Because I allow things like epenthesis, I'm pretty sure applying rules to intermediate states would allow infinite loops.
Yes, this has always been the problem with allowing iteration — my SCA gave infinite loops on epenthesis rules until I disabled it.

Re: SCA suggestions?

Posted: Wed Sep 01, 2021 2:04 am
by Emily
zompist wrote: Tue Aug 31, 2021 11:00 pm
bradrn wrote: Tue Aug 31, 2021 7:44 pm No, she’s talking about iterative/overlapping application. e.g. if you have a rule ‘[-voiced] → [+voiced] / [+voiced] _’ and apply it to /nts/, then it should first change /nts/ → /nds/, then recognise that the environment of /s/ has changed and do /nds/ → /ndz/.

AFAIK there’s no easy way to get this in SCA².
Sure there is: repeat the rule. (I just tested this; works like a charm.)

I think there are two problems with the proposed rule:
a) It's not clear that it's always desired behavior, so there would have to be a way to turn it off.
b) Because I allow things like epenthesis, I'm pretty sure applying rules to intermediate states would allow infinite loops.

Admittedly I'm lazy, but it seems to be there's a good workaround.
yes, repeating the rule is how i've done it, but i'm also lazy :D what i was picturing is something you'd put on specific rules, not something that would apply to the ruleset as a whole. so like a character or something (an exclamation mark? a dollar sign? the word "repeat"? whatever) that you'd add to the beginning of the line with the rule, or the end, or maybe the beginning of the environment. but i hadn't thought about the infinite loop problem; i don't know how you'd solve for that, other than just hard-encoding exceptions for rules that don't really make sense (like epenthesis or metathesis)

Re: SCA suggestions?

Posted: Wed Sep 01, 2021 4:51 pm
by zompist
I'll revisit it when I have more time... trying to get a book out right now. :)

Re: SCA suggestions?

Posted: Fri Oct 15, 2021 3:21 pm
by Emily
is it possible to treat tabs as word boundaries in addition to spaces? this would certainly save a lot of time with formatting declension tables!