Brassica SCA [v1.0.0]

Conworlds and conlangs
Post Reply
Ares Land
Posts: 3021
Joined: Sun Jul 08, 2018 12:35 pm

Re: Brassica SCA [v0.0.3]

Post by Ares Land »

Excellent news. I'll try this on a new language family soon :)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.0.3]

Post by bradrn »

Ares Land wrote: Sat Sep 17, 2022 12:55 pm Excellent news. I'll try this on a new language family soon :)
Please do let me know how well it works!
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
Ares Land
Posts: 3021
Joined: Sun Jul 08, 2018 12:35 pm

Re: Brassica SCA [v0.0.3]

Post by Ares Land »

It works very well! It's really nice to use the featural notation when changes involve both stress and length.

Two features I'd like to see is some way of saving sound changes / paradigms from the web version. (Not that copy/paste is a big hassle, but it'd be nice); and some way to mark specific stages in the language. (So I could for instance get the proto-whatever > old whatever > modern whatever on the same line.) Neither request is particularly urgent!
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.0.3]

Post by bradrn »

bradrn wrote: Fri Sep 16, 2022 10:49 am Note there is one minor detail left to resolve: the Brassica API has also been wholly revamped, and is now actually usable for the first time ever, but alas, I do not have the permissions to upload the library to Hackage yet. I will let you know when it is available there.
Update: the Brassica library is now available at https://hackage.haskell.org/package/brassica.
Ares Land wrote: Wed Sep 21, 2022 10:43 am It works very well! It's really nice to use the featural notation when changes involve both stress and length.
I’m interested to know you had a good experience with that — I always felt that particular corner of the program was somewhat confusing in design, especially when more than one feature is involved.
Two features I'd like to see is some way of saving sound changes / paradigms from the web version. (Not that copy/paste is a big hassle, but it'd be nice);
Agreed; it’s already on my to-do list.
and some way to mark specific stages in the language. (So I could for instance get the proto-whatever > old whatever > modern whatever on the same line.) Neither request is particularly urgent!
dhok already requested something similar, but this seems a little more limited and hence easier to implement. When I get some time, I’ll see what I can do.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
Ares Land
Posts: 3021
Joined: Sun Jul 08, 2018 12:35 pm

Re: Brassica SCA [v0.0.3]

Post by Ares Land »

bradrn wrote: Wed Sep 21, 2022 11:16 pm I’m interested to know you had a good experience with that — I always felt that particular corner of the program was somewhat confusing in design, especially when more than one feature is involved.
I think I went through a few attempts to really figure it out, but no big deal.

If you're still looking for features to implement :) Here's one way it could be made easier:

We add a special handling for suprasegmental (For instance stress could be handled by a special character ˈ that would be ignored unless specified otherwise; other thing such as tone or secondary stress could be handled that way).

So you'd have something this:

Code: Select all

feature short = a e i o u / long aa ee ii oo uu
V = short long
supra stress = ˈ
voiced = b d g
unvoiced = p t k 

V / V +stress / _ C (C) V C (C) #
unvoiced / voiced / V_V
short -stress / _
With the following outcome:

Code: Select all

aataa > ˈaadaa
ataa > ˈadaa
atataa > ˈdadaa
aata > aad
Oh, while I'm at it, again adding to the wish list -- but that's probably a lot harder! I'd love to have a way to define syllable structure and syllable types (so we could use the definition to stress the penultimate, or apply special changes to heavy syllables...)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.0.3]

Post by bradrn »

Ares Land wrote: Thu Sep 22, 2022 5:45 am We add a special handling for suprasegmental (For instance stress could be handled by a special character ˈ that would be ignored unless specified otherwise; other thing such as tone or secondary stress could be handled that way).
Interesting idea… this is sort of what I was trying to do with ‘features’ (in that it lets you ignore a diacritic or suchlike), but this is much simpler. The downside of this, of course, is that it’s fairly limited: if I want to express stress via a diacritic, for instance, I would be out of luck with this.
Oh, while I'm at it, again adding to the wish list -- but that's probably a lot harder! I'd love to have a way to define syllable structure and syllable types (so we could use the definition to stress the penultimate, or apply special changes to heavy syllables...)
I actually tried this, very early in development; it was even going to be one of Brassica’s main features. Alas, the combination of syllable structures and sound changes is really difficult to get right — for instance, what happens to the syllable boundary in a change like V₁V₂→V₁ʔV₂? And furthermore, it turns out that most sound changes don’t actually require keeping track of syllable boundaries themselves: counting consonants and vowels suffices in every case I’ve encountered. (And Brassica has wildcards specifically to help with this: e.g. stressing the antepenult is as simple as V / Vstressed / _ ^V ^V C* #.)
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
Ares Land
Posts: 3021
Joined: Sun Jul 08, 2018 12:35 pm

Re: Brassica SCA [v0.0.3]

Post by Ares Land »

Ohh I didn't think of using wildcards! Thanks.
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.0.3]

Post by bradrn »

Ares Land wrote: Fri Sep 23, 2022 2:30 am Ohh I didn't think of using wildcards! Thanks.
Yeah, I should probably mention that in the documentation somewhere…
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [Linux]

Post by bradrn »

Presenting: Brassica on Linux!

Image

I’m going to hold off on a release until I make the build files more reliable (by not hardcoding paths and such), but if all goes well this should be available for download sometime in the next few days! Special thanks to Hallow XIII, who by his advice:
Hallow XIII wrote: Thu Oct 21, 2021 9:18 am The easiest way for me to get it running was to compile everything with -fPIC -fPIE and then dynamically link all the Haskell dependencies, which is also the preferred distribution format for my distribution's package management system
Helped me avoid all the trouble which would surely have arisen had I not been doing this right from the beginning.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
Travis B.
Posts: 6853
Joined: Sun Jul 15, 2018 8:52 pm

Re: Brassica SCA [Linux]

Post by Travis B. »

Cool!
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [Linux]

Post by bradrn »

Prebuilt Linux binaries are now available! Get them as always from the latest release. (Same release as last time, actually; the only difference is that the Linux tarball now includes the GUI binary.)

Disclaimer: so far I’ve only tested this on my own machine. Please tell me if it works or not! Warning: you’ll probably need to install Qt from your package manager, in the event that you don’t have it already. Probably I should just make this a proper package and submit it to the AUR or similar, but I’m too lazy…
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
chris_notts
Posts: 682
Joined: Tue Oct 09, 2018 5:35 pm

Re: Brassica SCA [Linux]

Post by chris_notts »

I'm very late to the party, but another Haskell-based SCA is cool. I wrote a featural one some time ago, and I hosted it for a while with a web UI, but no one seemed to be using it so I let it bit-rot a bit. I'm considering recoding it into Rust as a way to learn it.

(The reason I just built a JS frontend for it, combined with a Yesod backend IIRC, was to avoid the entire issue around distribution)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [Linux]

Post by bradrn »

chris_notts wrote: Fri Dec 16, 2022 12:06 pm I'm very late to the party, but another Haskell-based SCA is cool. I wrote a featural one some time ago, and I hosted it for a while with a web UI, but no one seemed to be using it so I let it bit-rot a bit. I'm considering recoding it into Rust as a way to learn it.
Yes, I do recall HaSC! I even wanted to try it out a while ago, but couldn't find a working version online.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
chris_notts
Posts: 682
Joined: Tue Oct 09, 2018 5:35 pm

Re: Brassica SCA [Linux]

Post by chris_notts »

bradrn wrote: Fri Dec 16, 2022 5:55 pm
chris_notts wrote: Fri Dec 16, 2022 12:06 pm I'm very late to the party, but another Haskell-based SCA is cool. I wrote a featural one some time ago, and I hosted it for a while with a web UI, but no one seemed to be using it so I let it bit-rot a bit. I'm considering recoding it into Rust as a way to learn it.
Yes, I do recall HaSC! I even wanted to try it out a while ago, but couldn't find a working version online.
I think it works somewhat differently to yours, because I effectively ended up building a featural regex engine using the List monad to lazily search for matches and backtrack as necessary. You could express sound changes using a decent subset of regex functionality, capture strings of phonemes or individual feature values etc. But I think maybe it was hard for non-programmers to understand how to use it.
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [Linux]

Post by bradrn »

chris_notts wrote: Fri Dec 16, 2022 6:01 pm
bradrn wrote: Fri Dec 16, 2022 5:55 pm
chris_notts wrote: Fri Dec 16, 2022 12:06 pm I'm very late to the party, but another Haskell-based SCA is cool. I wrote a featural one some time ago, and I hosted it for a while with a web UI, but no one seemed to be using it so I let it bit-rot a bit. I'm considering recoding it into Rust as a way to learn it.
Yes, I do recall HaSC! I even wanted to try it out a while ago, but couldn't find a working version online.
I think it works somewhat differently to yours, because I effectively ended up building a featural regex engine using the List monad to lazily search for matches and backtrack as necessary. You could express sound changes using a decent subset of regex functionality, capture strings of phonemes or individual feature values etc.
I’m not doing backtracking, but I do think quite a few SCAs end up with this kind of design. (Though I think that if you want regexes, just use PCRE!)
But I think maybe it was hard for non-programmers to understand how to use it.
This seems to be a common problem with quite a few SCAs. I tried to avoid it, but don’t think I succeeded.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.1.0]

Post by bradrn »

Brassica v0.1.0 is now available! Unfortunately, I’ve been having trouble deploying desktop versions for both Windows and Linux… but the web version has been very significantly improved, and is now nearly at feature parity with the desktop version, so it should be even easier to try out now!

Aside from the improvements to the website, release highlights are:
  • Breaking change: can now apply a sound change in any one of a set of given environments with the syntax ‘target / replacement / env1 / env2 / …’. Exceptions to rules now have the syntax ‘target / replacement / env // exception’.
  • Added syntax for category backreferences in target and replacement.
  • Brassica can now apply sound changes across words to simulate processes such as sandhi and affixation.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.1.0]

Post by bradrn »

I’ve uploaded an AppImage for Linux to the GitHub release… alas, a half-broken one, since it doesn’t seem to work across all systems, but I suppose something is better than nothing. I’ll upload a more robust version if I can make one.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.1.0]

Post by bradrn »

I finally seem to have made a working AppImage binary for Linux! The releases page has been updated. Please try it out and let me know if it works for you!

(Unfortunately, Windows support seems more difficult… I’m still actively working on it. But the new web version is really rather good, if I do say so myself — so it should be just as easy to use even without a desktop version!)
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
User avatar
Raphael
Posts: 4557
Joined: Sun Jul 22, 2018 6:36 am

Re: Brassica SCA [v0.1.0]

Post by Raphael »

bradrn wrote: Sun Jul 16, 2023 2:30 am I finally seem to have made a working AppImage binary for Linux! The releases page has been updated. Please try it out and let me know if it works for you!
I can run it just fine, but at the moment, I don't have any lexicon to try out if it works.
bradrn
Posts: 6257
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [v0.1.0]

Post by bradrn »

Raphael wrote: Sun Jul 16, 2023 3:44 am
bradrn wrote: Sun Jul 16, 2023 2:30 am I finally seem to have made a working AppImage binary for Linux! The releases page has been updated. Please try it out and let me know if it works for you!
I can run it just fine, but at the moment, I don't have any lexicon to try out if it works.
There’s some examples here: https://github.com/bradrn/brassica/tree/master/examples. (Also included in the web version, and in the installer for the last Windows version. I suppose I could distribute an archive with the AppImage + examples, but it seems so pointless when they’re this easy to download separately.)
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices

(Why does phpBB not let me add >5 links here?)
Post Reply