User talk:Metaknowledge/Swahili verbs/table tests

Design

 * Suggested TAM that need subtables and an arbitrary choice of how to order them: Past, Present, Future, Subjunctive, Gnomic, Perfect, Already, Not yet, If/when, If not, Consecutive . The relative formations also need subtables if we even want to cover them. Similarly, object concords need subtables if we want to cover them. —Μετάknowledge discuss/deeds 21:57, 18 March 2017 (UTC)
 * Thanks! I clean forgot to list the three conditionals, which I suppose could be appended to the bottom. As for other things, I usually don't consider Swahili as having class 12, might be cleaner just to leave it out (but that's a matter of opinion). The empty space in the upper left corner is a little weird, but I don't know what to do with it. —Μετάknowledge discuss/deeds 05:40, 19 March 2017 (UTC)
 * Thoughts? — JohnC5 04:19, 22 March 2017 (UTC)
 * It's very attractive. I would be happy with this being the visual presentation, even though it will get to be pretty enormous, even with all the smaller tables autocollapsed. I think we should take the negative imperatives out, because they're not really used in Standard Swahili (but we also shouldn't put — in those slots, because it's not as though they don't exist, like how the negative habitual truly doesn't exist... not sure what the best solution there is). As mentioned above, this excludes object concords and relative forms, but I think we'd best at least have some prose at the bottom stating that they (and other things) exist, and linking to the appendix that I will have to finish writing. —Μετάknowledge discuss/deeds 04:31, 22 March 2017 (UTC)
 * So the relatives we can easily add. What are all the forms for which it exist? I'm not sure I fully understand your explanation. The object concords are and interesting question. I could provide even more subtables and cover every form. Alternatively we could provide an object concord template for every subject concord (e.g. na__amba, wa__amba, etc.), or we could just provide one template form. I'll fix the imperatives and habitual. — JohnC5 04:43, 22 March 2017 (UTC)
 * I rewrote the section on relatives; please tell me if it's comprehensible now. But they involve a whole lot more forms, and we do have to cap it at some point; considering how limitedly relative forms are used in colloquial speech. Avoiding the object concords altogether is really appealing because it means we don't have to deal with lexical transitivity, and the template could be automatically added to literally all verb entries with no inaccuracies. —Μετάknowledge discuss/deeds 05:05, 22 March 2017 (UTC)
 * So... Is that a yes or no on the relative forms? The only forms we'd need to add are a relative section to past, present, and future, and a general relative subtable with positive and negative, right? — JohnC5 05:22, 22 March 2017 (UTC)
 * It's an "I dunno".  I guess we might as well throw 'em in, if you're willing! —Μετάknowledge discuss/deeds 05:36, 22 March 2017 (UTC)
 * I'm done, perhaps? So are there any more forms we need? If not, could you please devise a system of abbreviations that we can use to uniquely identify every form? Also could you write a note to be place somewhere about the omission of object forms? I think it's going to be easiest to build the one base table in place and then fill the forms in with Lua as we do with German. The process of building the table with Lua seems far to cumbersome. — JohnC5 05:48, 22 March 2017 (UTC)
 * I think so! One feature that I suppose is Lua-dependent that I would really like is the ability to indicate irregularities quite directly, so that if a certain form is absent, putting in a hyphen for that parameter will generate — (and not a link to, and so that putting in something like x/y for that parameter will display both x and y as forms (for when multiple forms are possible). By the way, there is one error remaining, namely that the negative gnomic does not actually exist. If you want abbreviations, I guess I'd use the following (though maybe if you want shorter names, you could use the actual form of the affix in question): positive infinitive  , negative infinitive  , imperative singular  , imperative plural  , habitual  , positive past  , negative past  , relative past  , positive present  , negative present  , relative present  , positive future  , negative future  , relative future  , positive subjunctive  , negative subjunctive  , gnomic  , positive general relative  , negative general relative  , perfect  , already  , not yet  , if/when  , if not  , consecutive  , positive present conditional  , negative present conditional  , positive past conditional  , negative past conditional  , conditional contrary to fact  . To the extent you need abbreviations for the persons/numbers/classes, adding stuf like 1s and c4 at the end should work. —Μετάknowledge discuss/deeds 06:12, 22 March 2017 (UTC)
 * As for a note at the bottom... I'm not good at writing them, so you can modify this: "Not all possible forms are listed in the table. Transitive verbs can take object concords, and other forms not commonly seen in modern Standard Swahili are absent from the table. See Appendix:Swahili verbs for more information." —Μετάknowledge discuss/deeds 06:56, 22 March 2017 (UTC)

So... yeah. I'll say that we came in under our proposed 500 form maximum with a respectable 455 forms listed in the table. — JohnC5 06:04, 24 March 2017 (UTC)
 * Wow. Definitely respectable! I think it's good, time to implement the rules. Tell me if anything is at all unclear and I'll rewrite it. The module should be able to identify Arabic verbs, but I think monosyllabics can be given as a parameter. —Μετάknowledge discuss/deeds 21:14, 24 March 2017 (UTC)
 * Thanks! Can you describe the characteristics (how the lemmata may be identifiable) and give examples of both monosyllabic and Arabic verbs? — JohnC5 21:17, 24 March 2017 (UTC)
 * Normal and monosyllabic verbs end in -a, Arabic verbs don't. Example monosyllabic:, example Arabic: . —Μετάknowledge discuss/deeds 21:29, 24 March 2017 (UTC)
 * So will all the monosyllabic verbs be some consonants followed by an -a? I can definitely detect that. Are there any Arabic monosyllabic verbs? — JohnC5 21:33, 24 March 2017 (UTC)
 * Er, no, both normal and monosyllabic verbs end in -a. It's really not worth the effort of detecting the monosyllabic verbs. These are the three conjugations described at the top of my writeup, by the way, and as separate conjugations, are mutually exclusive. —Μετάknowledge discuss/deeds 21:36, 24 March 2017 (UTC)
 * I think you misunderstood my question: all the monosyllabic verbs are of the form Ca, CCa, CCCa, etc., whereas polysyllabic would be like CVCa, etc.? That is sooo easy to detect. — JohnC5 21:40, 24 March 2017 (UTC)
 * Well, there are two verbs (-isha and -enda) that have more than one syllable but are in the monosyllabic conjugation, and one of them (-enda) is often treated as a normal verb in colloquial speech, so I'd want to provide two conjugation tables for it. —Μετάknowledge discuss/deeds 21:43, 24 March 2017 (UTC)
 * Ok, cool. I'll get on this then. — JohnC5 21:45, 24 March 2017 (UTC)

Auto-expansion problem
Hey, do you happen to know a way to make the main table expand without having the subtables expand or know anyone who would know the answer? Also, do you have any other design comments? — JohnC5 21:27, 24 March 2017 (UTC)
 * The code for it is in MediaWiki:Gadget-legacy.js. But while I wrote it, I'm no longer able to edit it, so someone else will have to do it. Essentially, the issue is that it searches for elements with the  and   CSS classes, but it does so recursively, so it will happily recurse into the subtables. One possible way to fix this might be to filter out any elements whose nearest   parent is not  . —CodeCat 21:39, 24 March 2017 (UTC)
 * I certainly do not have the knowledge to make such a change without spending a lot of time examining the code. Can only admins edit js stuff? Would it be at all possible for you to copy it elsewhere and edit it and then I'd copy it back for you? I'm sorry to ask so much. — JohnC5 21:56, 24 March 2017 (UTC)
 * I'm not exactly confident that I could get it right in the first try, either; I'm not really all that experienced with JavaScript. Maybe ask in the Grease Pit? —CodeCat 21:59, 24 March 2017 (UTC)