Brassica SCA [v0.2.0]

Conworlds and conlangs
User avatar
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

bradrn wrote: Mon Jun 20, 2022 10:42 pm
WarpedWartWars wrote: Mon Jun 20, 2022 7:43 pm What's a parser combinator?
The idea is that you can use combinators (i.e., functions) to build up bigger parsers from smaller parsers: thus, for instance, if you have parsers ‘a’ or ‘b’, you can get things like ‘a then b’, ‘either a or b’, ‘a and b in any order’, ‘a inside b’ and so forth. Brassica uses parser combinators (via the megaparsec library) to parse both sound changes and paradigms.
Interesting!
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
Travis B.
Posts: 6001
Joined: Sun Jul 15, 2018 8:52 pm

Re: Brassica SCA [online version]

Post by Travis B. »

WarpedWartWars wrote: Mon Jun 20, 2022 10:38 pm
Travis B. wrote: Mon Jun 20, 2022 10:10 pm
WarpedWartWars wrote: Mon Jun 20, 2022 7:43 pm I would gladly learn Haskell, except I am not downloading a >55 MB compiler for it.
Those 55 MB are worth it, seriously. I'm surprised that that much data is an issue in this day and age, unless one's sole Internet connection is a cell network hotspot.
Except my sole Internet connection is a cell network hotspot.
Could you at least find someplace with free public WiFi such as a coffee shop to download GHC at?
Ġëbba nuġmy sik'a läka jälåsåmâxûiri mohhomijekene.
Leka ṙotammy sik'a ġëbbäri mohhomijekëlâṙáisä.
Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa.
Travis B.
Posts: 6001
Joined: Sun Jul 15, 2018 8:52 pm

Re: Brassica SCA [online version]

Post by Travis B. »

WarpedWartWars wrote: Mon Jun 20, 2022 10:54 pm
bradrn wrote: Mon Jun 20, 2022 10:42 pm
WarpedWartWars wrote: Mon Jun 20, 2022 7:43 pm What's a parser combinator?
The idea is that you can use combinators (i.e., functions) to build up bigger parsers from smaller parsers: thus, for instance, if you have parsers ‘a’ or ‘b’, you can get things like ‘a then b’, ‘either a or b’, ‘a and b in any order’, ‘a inside b’ and so forth. Brassica uses parser combinators (via the megaparsec library) to parse both sound changes and paradigms.
Interesting!
Parser combinators are one of the things that are practically unique to Haskell, that simply do not translate to other programming languages (save possibly Idris and like).
Ġëbba nuġmy sik'a läka jälåsåmâxûiri mohhomijekene.
Leka ṙotammy sik'a ġëbbäri mohhomijekëlâṙáisä.
Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa. Q'omysa.
User avatar
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

Travis B. wrote: Tue Jun 21, 2022 10:13 am
WarpedWartWars wrote: Mon Jun 20, 2022 10:38 pm Except my sole Internet connection is a cell network hotspot.
Could you at least find someplace with free public WiFi such as a coffee shop to download GHC at?
No coffee shops here, but there is the library and a few grocery stores. I just don't know if my mom'll let me bring the laptop.
Last edited by WarpedWartWars on Tue Jun 21, 2022 8:15 pm, edited 1 time in total.
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
User avatar
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

Travis B. wrote: Tue Jun 21, 2022 2:32 pm
WarpedWartWars wrote: Mon Jun 20, 2022 10:54 pm Interesting!
Parser combinators are one of the things that are practically unique to Haskell, that simply do not translate to other programming languages (save possibly Idris and like).
Huh.
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
User avatar
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

Initial numbers in the paradigm builder don't seem to work. I copied this:

Code: Select all

() 2.en
1 wim () soo aa
-2 zhaa woo yaa
-1 zh w y
from the documentation into it, then ran it on the root kood (also from the docs), and I got this:

Code: Select all

2:7:
  |
2 | 1 wim () soo aa
  |       ^
unexpected '('
expecting '>' or alphanumeric character
Edit: 99b20f4 might be the problem.
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
User avatar
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

WarpedWartWars wrote: Sun Jun 19, 2022 6:02 pm especially since I'm not going to download the 32.7 megabyte installer.
Apparently I ended up downloading it.
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

Travis B. wrote: Tue Jun 21, 2022 2:32 pm
WarpedWartWars wrote: Mon Jun 20, 2022 10:54 pm
bradrn wrote: Mon Jun 20, 2022 10:42 pm

The idea is that you can use combinators (i.e., functions) to build up bigger parsers from smaller parsers: thus, for instance, if you have parsers ‘a’ or ‘b’, you can get things like ‘a then b’, ‘either a or b’, ‘a and b in any order’, ‘a inside b’ and so forth. Brassica uses parser combinators (via the megaparsec library) to parse both sound changes and paradigms.
Interesting!
Parser combinators are one of the things that are practically unique to Haskell, that simply do not translate to other programming languages (save possibly Idris and like).
I’m not sure this is quite correct… any typed functional language can do them (so including OCaml, F# etc.), and I’m pretty sure most untyped FP languages can too. I even made a parser combinator library in C# once — it’s doable, though a little unergonomic. (Thankfully, C# has do-notation, at least.)
WarpedWartWars wrote: Tue Jun 21, 2022 7:55 pm Initial numbers in the paradigm builder don't seem to work. I copied this:

Code: Select all

() 2.en
1 wim () soo aa
-2 zhaa woo yaa
-1 zh w y
from the documentation into it, then ran it on the root kood (also from the docs), and I got this:

Code: Select all

2:7:
  |
2 | 1 wim () soo aa
  |       ^
unexpected '('
expecting '>' or alphanumeric character
Edit: 99b20f4 might be the problem.
Oh, interesting… thanks for finding that! I’ll look at it once I get home.
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
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

bradrn wrote: Tue Jun 21, 2022 9:45 pm
WarpedWartWars wrote: Tue Jun 21, 2022 7:55 pm [...]
Oh, interesting… thanks for finding that! I’ll look at it once I get home.
Let me see...nope, it doesn't work if I remove the parens:

Code: Select all

2:13:
  |
2 | 1 wim soo aa
  |             ^
unexpected newline
expecting '>' or alphanumeric character
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

WarpedWartWars wrote: Wed Jun 22, 2022 2:06 am
bradrn wrote: Tue Jun 21, 2022 9:45 pm
WarpedWartWars wrote: Tue Jun 21, 2022 7:55 pm [...]
Oh, interesting… thanks for finding that! I’ll look at it once I get home.
Let me see...nope, it doesn't work if I remove the parens:

Code: Select all

2:13:
  |
2 | 1 wim soo aa
  |             ^
unexpected newline
expecting '>' or alphanumeric character
Oh, now that is bad. That should work perfectly. (As should the other, of course, but this case is simpler and hence more worrying.)

Out of curiosity, have you found any similar inputs which do work?
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
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

bradrn wrote: Wed Jun 22, 2022 2:46 am Oh, now that is bad. That should work perfectly. (As should the other, of course, but this case is simpler and hence more worrying.)

Out of curiosity, have you found any similar inputs which do work?
Prefixing all the affixes with <number>. works.
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

The bug should now be fixed (98d9f8a67575a6f3a526c33b168a4b999de730a3). I’ll make a new release after I update the documentation and fix some more bugs I’m aware of.
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
WarpedWartWars
Posts: 197
Joined: Sat Aug 28, 2021 2:31 pm
Location: tɑ tɑ θiθɾ eɾloθ tɑ moew θerts

Re: Brassica SCA [online version]

Post by WarpedWartWars »

How do I make a sound change to remove spaces?

Edit: And how do I match one of any letter without needing to make a category for all letters used?
tɑ tɑ tɑ tɑ θiθɾ eɾloθ tɑ moew θerts olɑrk siθe
of of of of death abyss of moew kingdom sand witch-PLURAL
The witches of the desert of the kingdom of Moew of the Abyss of Death

tɑ toɾose koɾot tsɑx
of apple-PLURAL magic cold
cold magic of apples
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

WarpedWartWars wrote: Mon Jun 27, 2022 1:23 pm How do I make a sound change to remove spaces?
Um… something is very wrong if you need a sound change to remove spaces, because all the spaces should be stripped out in the first place. Why do you need this?
Edit: And how do I match one of any letter without needing to make a category for all letters used?
You can’t, at the moment. (I should probably add this.) But then again, why do you want to do this in the first place? ‘All letters’ would mean the sound change applies in exactly the same way to both consonants and vowels, which seems unusual enough to me that it deserves being spelt out.
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
dhok
Posts: 298
Joined: Mon Aug 20, 2018 4:39 am
Location: The Eastern Establishment

Re: Brassica SCA [online version]

Post by dhok »

I'm popping by after an absence of lord knows how long to say that I'm overjoyed that this exists. Is there a reason that whitespaces seem to break the desktop version? It took me quite a while to work out that that was going on given the readme.

E.g., if the Categories box has

K=kg
Č=čĵ


and the Sound Changes box has K/Č/_[ie], then things run as expected: *kito gives čito. However, if I add whitespaces as K / Č / _[ie] (or indeed add whitespace anywhere in the rule), it breaks and the sound change doesn't apply.

One of the things I really appreciated about GoatFace's Haedus SCA was the ability to reserve strings like <kʷ> or <p'> so that they'd act as single tokens. Haedus also used whitespace to demarcate tokens, which I found really intuitive and useful. You might want to consider adding a box for "Reserved sequences" where the user can add digraphs and trigraphs like <kʰ>, then use whitespace syntax in the categories so that a category is written K = k g kʰ or thereabouts. Lack of whitespace can make things crowded. (I also liked the use of <0> for null inputs and outputs in Haedus, although the readme used a font that made it look like the symbol for bilabial click. This would also fit better with the option to use arrow syntax, which I think is also broken on the desktop--h → 0 / _C is intuitive while h→/_C just looks weird...)

This would probably make rules longer than they are now, so maybe instead of portrait-aligned boxes, you could perhaps go for landscape-aligned ones. This could look something like this (ugly Paint diagram incoming):

Image

One further comment: semicolon comments don't seem to completely comment out their line. If I try to comment out a rule, things get screwed up. (Maybe use <%> to mark comments and give the whole line its own color? Semicolons are weird and feel unintuitive.)

But this is all very much nitpicking and I'm really enthusiastic about this. It's the sort of software package the community's been waiting for for about two decades.
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

dhok wrote: Tue Jul 12, 2022 9:31 am I'm popping by after an absence of lord knows how long to say that I'm overjoyed that this exists. Is there a reason that whitespaces seem to break the desktop version? It took me quite a while to work out that that was going on given the readme.

E.g., if the Categories box has

K=kg
Č=čĵ


and the Sound Changes box has K/Č/_[ie], then things run as expected: *kito gives čito. However, if I add whitespaces as K / Č / _[ie] (or indeed add whitespace anywhere in the rule), it breaks and the sound change doesn't apply.
Wait… what SCA are you using? It can’t be Brassica, because it doesn’t have separate boxes for categories and sound changes; instead, Brassica has a single box for both. And it should support multigraphs just fine too, without even needing to reserve strings. Here’s the correct link: http://bradrn.com/brassica/index.html
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
dhok
Posts: 298
Joined: Mon Aug 20, 2018 4:39 am
Location: The Eastern Establishment

Re: Brassica SCA [online version]

Post by dhok »

bradrn wrote: Tue Jul 12, 2022 10:05 am
dhok wrote: Tue Jul 12, 2022 9:31 am I'm popping by after an absence of lord knows how long to say that I'm overjoyed that this exists. Is there a reason that whitespaces seem to break the desktop version? It took me quite a while to work out that that was going on given the readme.

E.g., if the Categories box has

K=kg
Č=čĵ


and the Sound Changes box has K/Č/_[ie], then things run as expected: *kito gives čito. However, if I add whitespaces as K / Č / _[ie] (or indeed add whitespace anywhere in the rule), it breaks and the sound change doesn't apply.
Wait… what SCA are you using? It can’t be Brassica, because it doesn’t have separate boxes for categories and sound changes; instead, Brassica has a single box for both. And it should support multigraphs just fine too, without even needing to reserve strings. Here’s the correct link: http://bradrn.com/brassica/index.html
The readme says "exSCA version 2.1.1"...ah, wait,hmm. You are quite sure I want the online version that says version 0.0.2, not the desktop version linked therein?
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

dhok wrote: Tue Jul 12, 2022 11:24 am The readme says "exSCA version 2.1.1"...ah, wait,hmm. You are quite sure I want the online version that says version 0.0.2, not the desktop version linked therein?
No, I’m quite sure you don’t want exSCA at all, because that’s a different SCA. In fact, it’s my old SCA which is now long-deprecated in favour of Brassica. How come you ended up there?
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
Rounin Ryuuji
Posts: 2921
Joined: Wed Dec 23, 2020 6:47 pm

Re: Brassica SCA [online version]

Post by Rounin Ryuuji »

Can the sound change applier be made to apply the steps in a specific order, rather than apparently all at once?
bradrn
Posts: 5487
Joined: Fri Oct 19, 2018 1:25 am

Re: Brassica SCA [online version]

Post by bradrn »

Rounin Ryuuji wrote: Tue Jul 12, 2022 8:59 pm Can the sound change applier be made to apply the steps in a specific order, rather than apparently all at once?
It does apply them in order. Could you supply more details as to your specific problem please?
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