WordBuilder for Linux, Mac, etc.

Museum for the best conlanging and conworldery threads. Ask mods to move threads here.
User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

I just managed to install this in my windows-bearing comp, I'll review it rather succintly:

- Excelent tool, without a doubt the most powerful wordgen I've come across: I shall certainly be using it form now on as my primary wordgen app.

- It should have a friendlier interface: sure, it's a command-line app, and it should be, as it gives it the POWER, but it would be real nice to have a few dialogues that help me generate that code.

- Also, it would be great not to have to have to enter line breaks before each command.

- also, more color coding, or some other kind of coding that marks what is bracketed and what is not, so as to have a visually evident representation of the code itself.

Anyway, this is a great wordgen, thanks for your hard work. This shall be my wordgen of choice.

User avatar
faiuwle
Avisaru
Avisaru
Posts: 512
Joined: Mon Feb 12, 2007 12:26 am
Location: MA north shore

Post by faiuwle »

Awesome, this one works for me! I'll have to play around with it a bit more when I'm not busy finishing school projects.

Some things that occur to me right away that I'd be interested in seeing:
- Syntax highlighting, like Torco said, maybe with something that highlights matching parentheses, like gvim has
- Automatic line-wrapping at some set number of characters (configurable, maybe?)
- Monospaced font (the spaces are still much smaller than the other characters, so it's hard to see the structure)

Also, it'd be kind of cool if you could have some more comprehensive documentation for the script that's distributed with the program, with more examples and suchlike.
It's (broadly) [faɪ.ˈjuw.lɛ]
#define FEMALE

ConlangDictionary 0.3 3/15/14 (ZBB thread)

Quis vult in terra stare,
Cum possit volitare?

su_liam
Sanci
Sanci
Posts: 64
Joined: Wed Dec 05, 2007 10:27 pm

Post by su_liam »

Well, I've tried it on my mac without success. I've installed mono and gtk, but nothing. Mostly, I just boot to windows when I want to use wordbuilder and wilbur. I'm pretty much stuck on windows to use my ESRI apps, so that works.

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

Torco wrote:I just managed to install this in my windows-bearing comp, I'll review it rather succintly:

- Excelent tool, without a doubt the most powerful wordgen I've come across: I shall certainly be using it form now on as my primary wordgen app.

- It should have a friendlier interface: sure, it's a command-line app, and it should be, as it gives it the POWER, but it would be real nice to have a few dialogues that help me generate that code.

- Also, it would be great not to have to have to enter line breaks before each command.

- also, more color coding, or some other kind of coding that marks what is bracketed and what is not, so as to have a visually evident representation of the code itself.

Anyway, this is a great wordgen, thanks for your hard work. This shall be my wordgen of choice.
All valid points, I suppose - what would you prefer instead of line breaks? Semi-colons?

As for the color coding, I'm going to have to rewrite the syntax highlighting from scratch, but I was kind of wanting to do that anyway, and with what I have in mind, it'd be easier to support semi-colons and such.
faiuwle wrote: Awesome, this one works for me! I'll have to play around with it a bit more when I'm not busy finishing school projects.

Some things that occur to me right away that I'd be interested in seeing:
- Syntax highlighting, like Torco said, maybe with something that highlights matching parentheses, like gvim has
- Automatic line-wrapping at some set number of characters (configurable, maybe?)
- Monospaced font (the spaces are still much smaller than the other characters, so it's hard to see the structure)

Also, it'd be kind of cool if you could have some more comprehensive documentation for the script that's distributed with the program, with more examples and suchlike.
The windows version has syntax highlighting, but it could be better. Like I said above, I'm thinking of a way to implement a better version.

Line wrapping... hm... Not entirely sure how to handle that.

You can choose your font in the windows version, but not in the gtk version. Will fix that.

Documentation, yes. I should really get around to that.
su_liam wrote: Well, I've tried it on my mac without success. I've installed mono and gtk, but nothing. Mostly, I just boot to windows when I want to use wordbuilder and wilbur. I'm pretty much stuck on windows to use my ESRI apps, so that works.
Thanks for giving it a shot. It seems that folks are generally having trouble getting gtk to work under Mac. Bugger. I would try and make a cocoa version (in making the gtk version, I managed to couple the UI more loosely so it wouldn't be terribly hard to make another UI on top of what I have. I'm probably going to do so for Windows as well.), but it seems I can only develop cocoa apps on a mac, so I'm kinda stuck on that. Oh well. Glad that you can use the windows version then ;)
[url=http://whee.dk]WordBuilder[/url]

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

regarding line breaks, I have two non-exclusive ideas:

a) just spaces: I think this might get a bit complicated to code, tho'...
b) Perhaps it's more transparent for the loop command to, instead of using {} brackets, have a "loop/end loop" syntax [or maybe I've been using too much SPSS lately :P]; similarly, "rule/end rule" or something like that. I know it would be way more intuitive for me, at least.

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

Torco wrote:regarding line breaks, I have two non-exclusive ideas:

a) just spaces: I think this might get a bit complicated to code, tho'...
b) Perhaps it's more transparent for the loop command to, instead of using {} brackets, have a "loop/end loop" syntax [or maybe I've been using too much SPSS lately :P]; similarly, "rule/end rule" or something like that. I know it would be way more intuitive for me, at least.
a) That would require a bit of rethinking at least, and probably making all optional parameters mandatory...
b) Wouldn't you still need the line breaks then? I could do something to allow the rule/end rule syntax, but it'd still be line based. Thing is, how do I know where to break?

Code: Select all

tokens consonants b c d f g rule root loop 1 2 3 3 4 token consonants end loop branch something rule-something end rule
[url=http://whee.dk]WordBuilder[/url]

User avatar
faiuwle
Avisaru
Avisaru
Posts: 512
Joined: Mon Feb 12, 2007 12:26 am
Location: MA north shore

Post by faiuwle »

Could you have the statements either end with a line break or a semicolon, or something similar? That would be unambiguous, as long as you're not using semicolons for anything else.
It's (broadly) [faɪ.ˈjuw.lɛ]
#define FEMALE

ConlangDictionary 0.3 3/15/14 (ZBB thread)

Quis vult in terra stare,
Cum possit volitare?

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

Yes, I could. I was trying to say that some kind of unambiguous separator would be necessary.
[url=http://whee.dk]WordBuilder[/url]

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

Alfar wrote: Thing is, how do I know where to break?

Code: Select all

tokens consonants b c d f g rule root loop 1 2 3 3 4 token consonants end loop branch something rule-something end rule
Maybe it's the combination of brackets and breaks that makes it confusing for me. [don't mind me too much, btw, my syntax experience is MSDOS, a bit of SQL and SPSS, so not a lot] I imagine this

tokens consos p t k g
tokens rules a o i

rule syllable
loop 2[0] 1[1] 2[1]
token consonant
end loop
token vowel
end rule

rule root
loop 2
rule syllable
end loop
token consonant
end rule

to be less confusing, since it's pretty clear what's nested in what, maybe even so for the syntax highlighter

--- now that I think about it, this thing might even produce syntax, if it's told how to... of course, all it could do are colourless green ideas that sleep quite furiously.

User avatar
faiuwle
Avisaru
Avisaru
Posts: 512
Joined: Mon Feb 12, 2007 12:26 am
Location: MA north shore

Post by faiuwle »

What about Python-style, with whitespace denoting nesting levels:

Code: Select all

rule syllable
  loop 2[0] 1[1] 2[1]
    token consonant
  token vowel

rule root
  loop 2
    rule syllable
  token consonant
That would actually be my preference, but you'd have to use a font where the spaces were the same width as the characters.
It's (broadly) [faɪ.ˈjuw.lɛ]
#define FEMALE

ConlangDictionary 0.3 3/15/14 (ZBB thread)

Quis vult in terra stare,
Cum possit volitare?

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

faiuwle wrote:What about Python-style, with whitespace denoting nesting levels:

Code: Select all

rule syllable
  loop 2[0] 1[1] 2[1]
    token consonant
  token vowel

rule root
  loop 2
    rule syllable
  token consonant
That would actually be my preference, but you'd have to use a font where the spaces were the same width as the characters.
like nothing but tabs marking what's nested in what?
scratch what I said earlier, faiuwle wins

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

Torco wrote:--- now that I think about it, this thing might even produce syntax, if it's told how to... of course, all it could do are colourless green ideas that sleep quite furiously.
This... intrigues me. What do you mean?

I've been thinking about a sister script language that'd define how to translate a parse tree into a syntactically correct sentence in your language, but I'm not sure if it's useful, or even likely to work at all.

faiuwle, python indentation for blocks? Heh... I don't think it's harder than the other options per se. I'd like to keep backwards compatibility for existing scripts, though, so maybe I'll have to add some kind of marker for which formatting the script is in if it's any other format than the existing one.
[url=http://whee.dk]WordBuilder[/url]

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Post by Nortaneous »

oh for fuck's sake, using whitespace for anything is incredibly ugly
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

"green colourless ideas" is an example of how a phrase or sentences can be totally grammatical, this is, have no word sequences that are disallowed in a certain language [like "*this not is no allowing for language english"] and still be utterly meaningless and make no sense; ideas, of course, can be neither green, nor colourless.

wordgens as complex as yours can, of course, produce grammatical sequences in any 'lang; they just won't mean anything.
Nortaneous wrote:oh for fuck's sake, using whitespace for anything is incredibly ugly
so what? Syntax is supposed to be clear, simple, and easy to type; fuck pretty.

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Post by Nortaneous »

syntax is also not supposed to break massively if something that gets mangled as frequently as whitespace does gets mangled
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

su_liam
Sanci
Sanci
Posts: 64
Joined: Wed Dec 05, 2007 10:27 pm

Post by su_liam »

Torco wrote:ideas, of course, can be neither green, nor colourless.
I take umbrage at this. I like to have at least one idea that is both green and colorless every morning before breakfast. I'm not a morning person.

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

Nortaneous wrote:syntax is also not supposed to break massively if something that gets mangled as frequently as whitespace does gets mangled
Now that's a sensible argument: AFAICT wrong, as I see no reason why whitespace would get mangled unless you like print it and then run it thru OCR, but a sensible argument nonetheless.
su_liam wrote:
Torco wrote:ideas, of course, can be neither green, nor colourless.
I take umbrage at this. I like to have at least one idea that is both green and colorless every morning before breakfast. I'm not a morning person.
My apologies; let none accuse me of being an antipeoplewhoeatideasforbreakfastist.

xD

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Post by Nortaneous »

Torco wrote:
Nortaneous wrote:syntax is also not supposed to break massively if something that gets mangled as frequently as whitespace does gets mangled
Now that's a sensible argument: AFAICT wrong, as I see no reason why whitespace would get mangled unless you like print it and then run it thru OCR, but a sensible argument nonetheless.
forums that don't have code tags, email, html if the web designer is an idiot, comments on blog posts or something
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

User avatar
faiuwle
Avisaru
Avisaru
Posts: 512
Joined: Mon Feb 12, 2007 12:26 am
Location: MA north shore

Post by faiuwle »

Nortaneous wrote:oh for fuck's sake, using whitespace for anything is incredibly ugly
You're right - FORTRAN was truly the most beautiful of programming languages.

Maybe if you're doing a lot of reading the code in and out of word-processors, this might be an issue, but AIUI, the only program that's going to be processing the script is this one, and anyway, a half-decent text editor won't fuck the whitespace, especially not the whitespace at the beginning of the line.
It's (broadly) [faɪ.ˈjuw.lɛ]
#define FEMALE

ConlangDictionary 0.3 3/15/14 (ZBB thread)

Quis vult in terra stare,
Cum possit volitare?

User avatar
Torco
Smeric
Smeric
Posts: 2372
Joined: Thu Aug 30, 2007 10:45 pm
Location: Santiago de Chile

Post by Torco »

Nortaneous wrote:
Torco wrote:
Nortaneous wrote:syntax is also not supposed to break massively if something that gets mangled as frequently as whitespace does gets mangled
Now that's a sensible argument: AFAICT wrong, as I see no reason why whitespace would get mangled unless you like print it and then run it thru OCR, but a sensible argument nonetheless.
forums that don't have code tags, email, html if the web designer is an idiot, comments on blog posts or something
I don't foresee that as being a huge problem. Especially because I don't see anyone's syntax being used by anyone else to great frequency, so it's not like there's gonna be much syntax transference anyway, much less over such incredibly ancient mediums as codetagless fora, blogs and 1981 text processors.

Tho' sure, a disclaimer such as "beware, the whitespace is essential to this program's syntax"

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

faiuwle wrote:Maybe if you're doing a lot of reading the code in and out of word-processors, this might be an issue, but AIUI, the only program that's going to be processing the script is this one, and anyway, a half-decent text editor won't fuck the whitespace, especially not the whitespace at the beginning of the line.
That there makes me want to make a right-aligned script with indentation ;)

Nortaneous does have a point with posting code on forums and such. It's been plenty of trouble already on the cruddy forum I had on whee.dk
[url=http://whee.dk]WordBuilder[/url]

User avatar
faiuwle
Avisaru
Avisaru
Posts: 512
Joined: Mon Feb 12, 2007 12:26 am
Location: MA north shore

Post by faiuwle »

Websites and fora that can't show things in a monospaced font are utterly useless for talking about any kind of formal language or script, whether it uses whitespace significantly or not. And if, for some reason, you find yourself on such a site, well, that's what pastebin is for.
It's (broadly) [faɪ.ˈjuw.lɛ]
#define FEMALE

ConlangDictionary 0.3 3/15/14 (ZBB thread)

Quis vult in terra stare,
Cum possit volitare?

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Post by Nortaneous »

another problem: it takes more effort to manually space in to the required length than it does to add brackets

another problem: isn't parsing the whitespace more of a bitch than parsing brackets?

another problem: people have different indent styles, so forcing them into one really isn't that good of an idea when there's an alternative

and yes I realize these are criticisms usually reserved for large programming languages, but "nobody is going to actually use this so what the hell" is not a good design principle
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

Alfar
Sanci
Sanci
Posts: 30
Joined: Wed Oct 14, 2009 4:12 pm
Location: Silkeborg, Denmark
Contact:

Post by Alfar »

Nortaneous wrote:another problem: it takes more effort to manually space in to the required length than it does to add brackets

another problem: isn't parsing the whitespace more of a bitch than parsing brackets?

another problem: people have different indent styles, so forcing them into one really isn't that good of an idea when there's an alternative

and yes I realize these are criticisms usually reserved for large programming languages, but "nobody is going to actually use this so what the hell" is not a good design principle
1) Depending on how well the editor works, it may take less - I should be able to determine whether or not a line is a block-starter, and automatically indent the next line when you press enter. Using tabs, outdenting would just be pressing backspace.

2) Parsing would be a matter of storing the current depth and if the indentation is less than the previous line, the block(s) ends. I don't think it's particularly hard to implement a naïve version, but a robust one that'll accept miss-by-one-space indentations and such, a bit of a bother. Forcing people to put their start brackets at the end of the line and not on a line of its own may have been more offensive, really.

3) Python only requires that things at the same level in the parse tree are indented the same, IIRC. You can use tabs and spaces however you like. I'd prefer to use tabs, though, and let people set how many spaces they want tabs to indent, that way they get the look they want, even when looking at other people's code. Also, it lessens the risk of miss-by-one-space problems.

I'm glad to see these criticisms, and I try to stay away from the "what the hell" mentality. When I wrote the parser, I tried to strike a balance between what I could do quickly and what wouldn't annoy me too much as a programmer.
[url=http://whee.dk]WordBuilder[/url]

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Post by Nortaneous »

1. A lot of people use notepad or nano or whatever to write code, so it's probably bad to have syntax that's inconvenient for people using minimal editors. Hell, I know a lot of people who do most of their code in ssh sessions, which pretty much means nano (no features), vi (eugh), or emacs (bloated as all hell). Although this thing is probably GUI-only anyway so I guess that's not applicable here.

2. The start bracket thing is easily avoidable by ignoring whitespace entirely. (well, maybe not entirely - this isn't 80s-era BASIC - but trash the tabs, CRs, and LFs)

3. Using whitespace at all brings up problems for people who use editors that don't automatically convert tabs to strings of spaces: if someone has tab length set to four and alternates between tab and space x4 to get an indent depth of four, they're fucked, and it'll be hell for them to notice that problem. You can't even assume a standard tab length for that sort of situation; industry standard is 8, as far as I've seen, but a lot of programmers have it set to 4.
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

Post Reply