Page 9 of 9

Re: Brassica SCA [v0.3.0]

Posted: Sat Aug 10, 2024 8:33 am
by bradrn
bradrn wrote: Thu Aug 08, 2024 2:27 am
Raholeun wrote: Thu Aug 08, 2024 2:10 am If you need a constructive opinion on the revamped documentation, I'm glad to help.
Thanks! I was planning to post it here anyway for feedback.
In the interests of getting early feedback, I’ve uploaded an early version of the new Getting Started guide at https://github.com/bradrn/brassica/blob ... Started.md. Please let me know what you think!

For context, I’m also in the middle of writing a companion Reference document to act as a more complete (but less discursive) reference to Brassica’s syntax. My plan was to not cover everything in the Getting Started guide, but leave more complicated structures to the Reference. Alas, it’s ended up pretty long in any case — but hopefully it’s still navigable!

Re: Brassica SCA [v0.3.0]

Posted: Wed Aug 14, 2024 9:36 pm
by bradrn
I’ve now written the first draft of the reference guide as a counterpart to the Getting Started guide in the last post. If people could read through it and make suggestions for improvement, that would be very much appreciated!

Re: Brassica SCA [v0.3.0]

Posted: Mon Aug 19, 2024 10:21 am
by bradrn
I note that no-one has replied to my previous posts (yes). In this case, I’ll just assume that the revised documentation is fully OK and fit for use.

Also, I just realised that I somehow forgot to publish the brassica-0.3.0 library to Hackage. This has now been fixed.

Re: Brassica SCA [v0.3.0]

Posted: Tue Aug 20, 2024 7:13 am
by Raholeun
Haven't had much time these past days, but I hope to have a look soon.

Re: Brassica SCA [v0.3.0]

Posted: Tue Aug 20, 2024 9:00 am
by bradrn
Raholeun wrote: Tue Aug 20, 2024 7:13 am Haven't had much time these past days, but I hope to have a look soon.
Thanks, that would be very much appreciated! Just let me know when you can get around to it.

Re: Brassica SCA [v0.3.0]

Posted: Wed Aug 21, 2024 4:18 am
by Raholeun
bradrn wrote: Tue Aug 20, 2024 9:00 am Just let me know when you can get around to it.
Please allow me to tackle this haphazardly. I started with the Getting Started page.

Occasionally, a sound change is followed by a commented section that illustrates how a specific item is impacted by the change. This is particularly helpful for those who are not yet familiar with the formulaic nature of sound change notation. Unfortunately, the use of examples is inconsistent. Sometimes, the input and output are provided within the code block, other times in the preceding or following text, and in some instances, no examples are given at all. It is recommended to adopt a consistent method for presenting examples. Ideally, an example should be included in the code block for every sound change demonstrated, regardless of how inane the result may appear.

Code: Select all

θ / f ; will convert ⟨θɪn⟩→⟨fɪn⟩
Likewise, the guide sometimes provides counterexamples by stating "; no change in". This is useful and you might consider using them more often.

Building on the previous point, users might sometimes struggle to understand why their sound change isn’t functioning as expected or why it’s causing an error. ncluding a section in the documentation that offers troubleshooting tips or a 'debugging guide' would be highly valuable. This could cover common mistakes, how to identify where an issue might be occurring, and steps to resolve typical errors. I guess it is preferable to empower users to diagnose and fix their issues on their own, rather than having to post here (or worse, DM you) and take up your time.

The relationship between wildcard tilde deletion and deletion via whitespace is not entirely clear to me. While the documentation introduces tilde deletion and explains the specific function it performs that whitespace deletion cannot, it doesn’t clarify whether tilde deletion can be universally applied in all scenarios where whitespace deletion is used. For example, you might want to explain why

Code: Select all

ʔ / / _ [p t k b d g #]
is or is not equivalent to

Code: Select all

ʔ / ~ / _ [p t k b d g #]
Finally, in the section about the graphical interface it is stated: "The graphical interface appears as follows (on desktop)". To me it is unclear if this implies that the web version is lacking some features mentioned. If so, what are the differences? If the web and desktop version are functionally identical, that is good to state as well.

Re: Brassica SCA [v0.3.0]

Posted: Wed Aug 21, 2024 6:00 am
by bradrn
These are really insightful comments, thanks!
Raholeun wrote: Wed Aug 21, 2024 4:18 am
bradrn wrote: Tue Aug 20, 2024 9:00 am Just let me know when you can get around to it.
Please allow me to tackle this haphazardly. I started with the Getting Started page.
‘A very good place to start’, as they say.

(By the way, I had some thoughts about how I could make the Reference Guide clearer, so I’ll probably be doing some further restructuring on that in the next day or two. You can read it but probably best to wait until I’m done that.)
Occasionally, a sound change is followed by a commented section that illustrates how a specific item is impacted by the change. This is particularly helpful for those who are not yet familiar with the formulaic nature of sound change notation. Unfortunately, the use of examples is inconsistent. Sometimes, the input and output are provided within the code block, other times in the preceding or following text, and in some instances, no examples are given at all. It is recommended to adopt a consistent method for presenting examples. Ideally, an example should be included in the code block for every sound change demonstrated, regardless of how inane the result may appear.

Code: Select all

θ / f ; will convert ⟨θɪn⟩→⟨fɪn⟩
Likewise, the guide sometimes provides counterexamples by stating "; no change in". This is useful and you might consider using them more often.
All good suggestions. I’ll add some more examples now.

Also, given that you use the angle brackets in passing, I’ve realised that I’m a bit inconsistent in when I use them. That’s something else to think about.
Building on the previous point, users might sometimes struggle to understand why their sound change isn’t functioning as expected or why it’s causing an error. ncluding a section in the documentation that offers troubleshooting tips or a 'debugging guide' would be highly valuable. This could cover common mistakes, how to identify where an issue might be occurring, and steps to resolve typical errors. I guess it is preferable to empower users to diagnose and fix their issues on their own, rather than having to post here (or worse, DM you) and take up your time.
Debugging is… tricky. At the moment, it’s mostly a matter of ‘stare at the sound change and hope’. Still, there’s a few tricks I’ve worked out, and it makes a lot of sense to document them.

(It will get a bit easier in the next version of Brassica, which will add an option to see intermediate stages.)
The relationship between wildcard tilde deletion and deletion via whitespace is not entirely clear to me. While the documentation introduces tilde deletion and explains the specific function it performs that whitespace deletion cannot, it doesn’t clarify whether tilde deletion can be universally applied in all scenarios where whitespace deletion is used. For example, you might want to explain why

Code: Select all

ʔ / / _ [p t k b d g #]
is or is not equivalent to

Code: Select all

ʔ / ~ / _ [p t k b d g #]
Ah… interesting. To me, those things are so totally different I didn’t even realise they could be confused.

An attempt at an explanation:
  • When the replacement of the rule is blank, that simply means ‘delete the whole target’, i.e. ‘replace the target with <blank>’.
  • The tilde is more complicated: it means ‘skip over the next category in the target’, which in most cases results in deletion (unless one uses backreferences or similar). It doesn’t really make sense to say ʔ / ~, because there’s no target category to skip over. The tilde is meant for cases like, say, Rounded [a e i] / ~ [ɔ ø y], where the first category in the target corresponds to no output in the replacement.
Finally, in the section about the graphical interface it is stated: "The graphical interface appears as follows (on desktop)". To me it is unclear if this implies that the web version is lacking some features mentioned. If so, what are the differences? If the web and desktop version are functionally identical, that is good to state as well.
What I meant to say was, ‘the graphical interface looks like this on both desktop and web, so here’s a representative screenshot of the desktop version’. The two are generally identical: the main differences are that the web version doesn’t (yet) support MDF, and it’s a lot slower.

Re: Brassica SCA [v0.3.0]

Posted: Wed Sep 04, 2024 5:58 am
by bradrn
Over the past two weeks I’ve made enormous progress with Brassica — not just in improving support for suprasegmentals and spreading changes as we’ve been discussing, but in solving many other outstanding issues too. The complete list is in the changelog.

However, the documentation still remains to be done. I need to complete my prior efforts to rewrite it, plus all the new stuff still needs to be documented properly. Therefore, to help people review it, I’ve uploaded a prerelease of Brassica here: https://bradrn.com/brassica-1beta/. Feel free to play around with it! (The ‘Tonogenesis’ example in particular shows off the new feature system. Also see the test changes.)

Re: Brassica SCA [v0.3.0]

Posted: Wed Sep 04, 2024 7:19 am
by Raholeun
Congratulations on the progress with the Brassica. I'm especially eager to test its full tonogenetical prowess. When I have time, which probably will be after a deadline of mine end of Sept. I will happily give some feedback on the changes.

Re: Brassica SCA [v0.3.0]

Posted: Wed Sep 04, 2024 8:14 am
by bradrn
Raholeun wrote: Wed Sep 04, 2024 7:19 am When I have time, which probably will be after a deadline of mine end of Sept. I will happily give some feedback on the changes.
Thanks! We’ll see how I’m going by then.

Re: Brassica SCA [v0.3.0]

Posted: Sun Sep 08, 2024 12:07 am
by bradrn
I’ve done another pass through the reference guide to rewrite it. I’m pretty happy with the results — it’s a lot more focussed and less ambiguous. To complement the descriptions, I’ve also added as many examples as I can think of (which I hope to use for automated testing soon). Please let me know what you think!

Of course, this kind of information still isn’t particularly helpful for getting started with Brassica. I still need to revisit the Getting Started guide and work out how to fix its inadequacies. I think I’ll split it into three — one document describing how to use the GUI, one providing a reference to the paradigm builder syntax, and one explaining how to write the most common kinds of sound changes. Those should collectively cover the main points, I think.

Re: Brassica SCA [v0.3.0]

Posted: Thu Sep 19, 2024 10:53 am
by bradrn
Now my second comprehensive rewrite of the main documentation is done. The relevant document is now called Writing Sound Changes in Brassica. Compared to the last version, it’s greatly expanded with much more explanation and examples throughout. Hopefully this goes some way towards making the whole thing more intelligible… please tell me what you think!

(As mentioned in the last post, I intend to split up the previous version into three separate files, so this is just one part — albeit by far the most important. I expect the other two parts to be pretty easy to write.)