Page 19 of 21

Re: Brassica SCA [v1.0.0]

Posted: Thu Jul 24, 2025 10:37 pm
by bradrn
Raholeun wrote: Thu Jul 24, 2025 5:20 am I was wondering if it is possible to easily see which rules have NOT been applied for any given word list. Sure, you could peace it together from the "Report rules applied" view, but that quickly becomes very laborious. Is there an alternative?
Interesting feature request! I’ll add it to the list.
Darren wrote: Thu Jul 24, 2025 7:13 am It would also be a nice feature to have a way of highlighting which words a specific rule applies to. You can do it by deleting and reinserting the rule and highlighting changes from last run though so it's no biggie.
Yep — I tend to do this similarly, by simply commenting and uncommenting the rule to see what gets highlighted. It might be nice to have a more formalised way of doing this but it’s not a priority.

Re: Brassica SCA [v1.0.0]

Posted: Tue Sep 16, 2025 12:21 pm
by DorotheaBrooke
Quick question - I don't have any real programming experience and had a little trouble figuring out how to do this from the documentation (partly because I have a cold.) I'm working on a series on sound changes for one of the Kuzitic branches which sees a two tone system develop into a pitch accent system, so I need changes that can do things like "turn all but the rightmost high tones in the word into low tones" or "turn the rightmost syllable in a word with only low toned syllables into a high tone." Where would I get started doing something like that?

Re: Brassica SCA [v1.0.0]

Posted: Tue Sep 16, 2025 1:38 pm
by Lērisama
DorotheaBrooke wrote: Tue Sep 16, 2025 12:21 pm Quick question - I don't have any real programming experience and had a little trouble figuring out how to do this from the documentation (partly because I have a cold.) I'm working on a series on sound changes for one of the Kuzitic branches which sees a two tone system develop into a pitch accent system, so I need changes that can do things like "turn all but the rightmost high tones in the word into low tones" or "turn the rightmost syllable in a word with only low toned syllables into a high tone." Where would I get started doing something like that?
For this, I'm assuming your high tone vowels are in a category called +high and low tone in one called -high, and a syllable structure of (C)V. It obviously doesn't matter but it allows me to test and give valid rules to you in the simplist formst possible¹.

The first rule is what wildcard matching is for. When a character in the environment is preceded by a the wildcard ^, brassica moves rightwards across the word from the target to the end until it finds something matching the wildcarded character. It can therefore be written as +high / -high / _ ^+high, i.e. a high tone vowel will be changed to a low tone vowel if it is followed by a high tone vowel anywhere in the word.

The second one is more complicated, but can be solved using the same principle. The differences from the previous is that you want the sound change to happen only if the wildcard doesn't match, and that you need the matching to occur leftwards from the target. The first can be solved by putting the wildcard in an exception instead ofnthe environment, and the second can be faked by adding the -rtl flag, which makes brassica perform the soundchange in reverse. Putting this together, the rule is -rtl -high / +high / _ # // ^+high _, i.e. working backwards, brassica will change a low toned vowel to a high toned one if it occurs word finally and isn't followed (or preceded, since this change is working backwards) by a high tone vowel anywhere in the word.

I hope this helps and is the right level of explanation for you.

¹ I tested this with the below

Code: Select all

extra k
categories
-high = a
+high = á
V = &&high
auto -high
end

+high / -high / _ ^+high
-rtl -high / +high / _ # // ^+high _
Output:
ákákáká → akakaká [rule 1 test]
akakaka → akakaká [rule 2 test]
akákaka [none applied test]

Re: Brassica SCA [v1.0.0]

Posted: Tue Sep 16, 2025 4:28 pm
by bradrn
Lērisama is hereby promoted to the position of Official Frontline User Support for Brassica.

(No, it’s no use arguing; you brought it upon yourself…)

Re: Brassica SCA [v1.0.0]

Posted: Wed Sep 17, 2025 2:00 am
by Lērisama
Just you wait until I get the time to finally get my head around Haskell¹… I have plans². (mwa ha ha!)

¹ That's a bit unfair to Haskell; it's more that it takes quite a bit of time to work out what X line of Haskell does, and I don't have enough experience to be able to reliably guess if function X is a prelude function, from one of the modules imported, or something defined in Brassica, which makes understanding the program a bit difficult
² You permitting, of course. If I ever get to that stage, the occasionally mentioned “list of things to implement” will probably be the source of those plans, if it is made public

Re: Brassica SCA [v1.0.0]

Posted: Wed Sep 17, 2025 4:19 am
by bradrn
Lērisama wrote: Wed Sep 17, 2025 2:00 am I don't have enough experience to be able to reliably guess if function X is a prelude function, from one of the modules imported, or something defined in Brassica, which makes understanding the program a bit difficult
Use Hoogle to search for functions in Haskell libraries, and any code search tool (I like ripgrep) to find functions within Brassica. Or you could set up HLS and use its ‘jump to definition’ functionality. (You should really set up HLS anyway, if you want to do Haskell development.)

Re: Brassica SCA [v1.0.0]

Posted: Wed Sep 17, 2025 1:56 pm
by DorotheaBrooke
Thank you much!!

Re: Brassica SCA [v1.0.0]

Posted: Sat Oct 04, 2025 3:07 pm
by bradrn
Darren wrote: Thu Jul 24, 2025 7:13 am It would also be a nice feature to have a way of highlighting which words a specific rule applies to. You can do it by deleting and reinserting the rule and highlighting changes from last run though so it's no biggie.
I got some spare time and felt like programming today, so I had a go at implementing this. It was actually pretty easy!

Re: Brassica SCA [v1.0.0]

Posted: Sat Oct 04, 2025 4:52 pm
by Darren
bradrn wrote: Sat Oct 04, 2025 3:07 pm
Darren wrote: Thu Jul 24, 2025 7:13 am It would also be a nice feature to have a way of highlighting which words a specific rule applies to. You can do it by deleting and reinserting the rule and highlighting changes from last run though so it's no biggie.
I got some spare time and felt like programming today, so I had a go at implementing this. It was actually pretty easy!
Hell yeah! Thanks brad. Is this released or gonna be in a future version?

Re: Brassica SCA [v1.0.0]

Posted: Sat Oct 04, 2025 5:50 pm
by bradrn
Darren wrote: Sat Oct 04, 2025 4:52 pm
bradrn wrote: Sat Oct 04, 2025 3:07 pm
Darren wrote: Thu Jul 24, 2025 7:13 am It would also be a nice feature to have a way of highlighting which words a specific rule applies to. You can do it by deleting and reinserting the rule and highlighting changes from last run though so it's no biggie.
I got some spare time and felt like programming today, so I had a go at implementing this. It was actually pretty easy!
Hell yeah! Thanks brad. Is this released or gonna be in a future version?
No, I only committed the code, sorry. No idea when the next release will be.

Re: Brassica SCA [v1.0.0]

Posted: Mon Oct 06, 2025 5:21 am
by bradrn
Raholeun wrote: Thu Jul 24, 2025 5:20 am I was wondering if it is possible to easily see which rules have NOT been applied for any given word list. Sure, you could peace it together from the "Report rules applied" view, but that quickly becomes very laborious. Is there an alternative?
And now this is implemented!

Re: Brassica SCA [v1.0.0]

Posted: Wed Oct 29, 2025 8:39 am
by bradrn
A request for help… I’ve made some changes to the online version which should hopefully make it feel snappier, but it comes at the cost of the output pane sometimes getting briefly out of sync in live mode. I don‘t use the web version regularly, so it’s hard for me to judge whether it’s worth it or not. I know other people here do use it, though, so could you test it and let me know what you think? I’ve uploaded the prerelease at https://bradrn.com/brassica-1.1.0alpha/.

Re: Brassica SCA [v1.0.0]

Posted: Wed Oct 29, 2025 9:51 am
by Lērisama
bradrn wrote: Wed Oct 29, 2025 8:39 am A request for help… I’ve made some changes to the online version which should hopefully make it feel snappier, but it comes at the cost of the output pane sometimes getting briefly out of sync in live mode. I don‘t use the web version regularly, so it’s hard for me to judge whether it’s worth it or not. I know other people here do use it, though, so could you test it and let me know what you think? I’ve uploaded the prerelease at https://bradrn.com/brassica-1.1.0alpha/.
I haven't tried it yet¹, but I find live mode on the web is unusable, because it takes too long to work, so it's highly likely to be an improvement to live mode overall, even if the window does get out of sync sometimes.

¹ I will, when I get some time

Re: Brassica SCA [v1.0.0]

Posted: Sat Nov 01, 2025 10:05 pm
by Darren
I only use the web mode as I'm mentally incapable of running it anywhere else (due to my brain). I will give the pre release a go today. I've never had major problems with the web version although it is slow if you're running like a thousand words through at a time.

Re: Brassica SCA [v1.0.0]

Posted: Thu Nov 06, 2025 2:01 pm
by Darren
I've been using the 1.1.0 web alpha for a few days. It works well, probably faster than 1.0.0. I don't use live mode though.

Re: Brassica SCA [v1.0.0]

Posted: Thu Nov 06, 2025 2:32 pm
by bradrn
Darren wrote: Thu Nov 06, 2025 2:01 pm I've been using the 1.1.0 web alpha for a few days. It works well, probably faster than 1.0.0. I don't use live mode though.
Good to know, thanks! It’s not actually faster, it just feels faster since it avoids freezing up the entire UI on every application.

Re: Brassica SCA [v1.0.0]

Posted: Sat Nov 08, 2025 2:10 pm
by Darren
Is there a way of making rules recursive (can take output as another input)? I've got the rule C r → \ which turns e.g. apriku → arpiku, but I'd like it to do fasmra → farsma as well, not *fasrma. I can just double the rule but feels like there might be a more efficient way of doing it.

Inversely, I've got a stress shift rule which moves stress one syllable to the right, but that won't stop moving it all the way to the final syllable unless I use -no as a tag. Which is fine, only (this really is a minor point) -no doesn't go green like the other tags.

Re: Brassica SCA [v1.0.0]

Posted: Sat Nov 08, 2025 2:36 pm
by bradrn
Darren wrote: Sat Nov 08, 2025 2:10 pm Is there a way of making rules recursive (can take output as another input)? I've got the rule C r → \ which turns e.g. apriku → arpiku, but I'd like it to do fasmra → farsma as well, not *fasrma. I can just double the rule but feels like there might be a more efficient way of doing it.
Running it right-to-left should do it: try -rtl C r → \.
Inversely, I've got a stress shift rule which moves stress one syllable to the right, but that won't stop moving it all the way to the final syllable unless I use -no as a tag. Which is fine, only (this really is a minor point) -no doesn't go green like the other tags.
Whoops, I’d better fix that syntax highlighting — thanks!

Re: Brassica SCA [v1.0.0]

Posted: Sat Nov 08, 2025 2:43 pm
by Lērisama
bradrn wrote: Sat Nov 08, 2025 2:36 pm
Darren wrote: Sat Nov 08, 2025 2:10 pm Is there a way of making rules recursive (can take output as another input)? I've got the rule C r → \ which turns e.g. apriku → arpiku, but I'd like it to do fasmra → farsma as well, not *fasrma. I can just double the rule but feels like there might be a more efficient way of doing it.
Running it right-to-left should do it: try -rtl C r → \.
No! You beat me¹! I've lost my position². :P
Darren wrote: Inversely, I've got a stress shift rule which moves stress one syllable to the right, but that won't stop moving it all the way to the final syllable unless I use -no as a tag.
If the lack of highlighting annoys you, I think -1 and -rtl would do until it's fixed, although I'm away from my computer and the website wasn't working for me just now, so I haven't tested it.

Relatedly, I'd like to report that online brassica is giving me ERR_ADDRESS_UNREACHABLE. Do you happen to know why?

¹ I was about to post the same thing
² Although I think being in the same timezone makes it less likely

Re: Brassica SCA [v1.0.0]

Posted: Sat Nov 08, 2025 3:49 pm
by bradrn
Lērisama wrote: Sat Nov 08, 2025 2:43 pm Relatedly, I'd like to report that online brassica is giving me ERR_ADDRESS_UNREACHABLE. Do you happen to know why?
Er, not a clue… I’ll look into it when I get time.