instance DiffGus of DiffBantu = open CommonBantu, Prelude in { param GenderGus = G1 | G2 | G3 |G4| G5|G6|G7|G8|G9|G10 ; oper Gender = GenderGus ; firstGender = G1 ; secondGender = G2 ; conjThan = "kobua" ; conjThat = "kobua" ; conjGender : Gender -> Gender -> Gender = \m,n -> case m of { G1 => n ; _ => G2 } ; reflPron :Agr => Str = \\ag=> case of { < Ag G1 Sg P1 > => "mimi" ; < Ag G1 Sg P2 > => "wewe" ; < Ag G1 Sg P3 > => "yeye" ; < Ag _ Sg P3 > => "" ; < Ag G1 Pl P1 > => "sisi" ; < Ag G1 Pl P2 > => "nyinyi" ; < Ag G1 Pl P3 > => "wao" ; < Ag _ _ _ > => "" }; possess_Prepof,mkPrepof : Number => Gender => Str = table Number { Sg => table { G1| G2 => "bwo" ; G3 => "ya"; G4 => "ria"; G5 => "kia"; -- G6 => "rwa"; G7 => "ka"; G8 => "bwa"; G9 => "kwa"; G10 => "a" }; Pl => table { G1 => "ba" ; G2 => "ya" ; G3|G6 => "cia"; G4 |G8|G9|G10 => "a"; G5 => "bi"; -- G7 => "bia"} } ; superVery ="bi"; Cardoneprefix : Gender -> Str = \g -> case of { =>"oya"; =>"aka"; =>"obo"; =>"eri"; =>"eye"; =>"oro"; =>"oyo"; =>"eke"; =>"oko"; => "a" } ; Cardtwoprefix : Gender -> Str = \g -> case of { =>"ba"; | =>"bi"; | =>"a"; | =>"i"; | =>"e"; < G10> => "" } ; Allpredetprefix : Gender -> Str = \g -> case of { => "b" ; => "y" ; || => "bi" ; | | => "" ; | => "ci" } ; PrefixPlNom : Gender -> Str = \g -> case of { => "aba" ; => "eme" ; | => "ci" ; | | => "ama" ; | => "ebi"; => "" } ; mkprefix,Ordprefix : Gender -> Str = \g -> case of { | =>"o"; => "ria"; => "kia"; => "ya"; => "rwa"; => "ka"; => "bwa"; => "kwa"; < G10> => "a" } ; Cardprefix : Gender -> Str = \g -> case of { =>"ba"; | =>"bi"; | =>"a"; | =>"i"; | =>"e"; => "" } ; Mostpredetprefix : Gender -> Str = \g -> ""; -- not taken care of ConsonantAdjprefix: Gender -> Number -> Str = \n,g -> ""; --not taken care of {-case of { => "m" ; => "wa" ; => "m" ; => "mi" ; => "ma" ; => "ki" ; => "vi" ; => "m" ; => "m" ; => "m" ; => "ma" ; => "ma" ; => "pa" ; => "ku" ; => "m" ; <_,_> => "" } ; -} VowelAdjprefix: Gender -> Number -> Str = \n,g ->""; -- not taken care of {-} case of { => "mw" ; => "w" ; => "mw" ; => "my" ; => "j" ; => "m" ; => "ch" ; => "vy" ; => "ny"; => "ny"; => "mw" ; => "y" ; => "mw" ; => "mw" ; => "mw" ; => "m" ; => "m" ; => "ny" ; => "p" ; => "kw" ; => "mu" ; <_,_> => "" } ; -} VoweliAdjprefix: Gender -> Number -> Str = \n,g -> ""; -- not taken care of {-} case of { => "mwi" ; => "we" ; => "mwi" ; => "mi" ; => "ji" ; => "me" ; => "ki" ; => "vi" ; => "zi"; => "zi"; => "mwi" ; => "zi" ; => "mwi" ; => "mwi" ; => "mwi" ; => "me" ; => "me" ; => "zi" ; => "pe" ; => "kwi" ; => "mwi" ; <_,_> => "" } ; -} Adjpprefix : Gender -> Number -> Str = \n,g -> case of { => "aba" ; => "eme" ; => "e" ; => "eri" ; => "ege" ; => "ebi" ; => "oro" ; => "aka" ; => "ebi"; => "obo" ; => "oko" ; => "aa" ; | => "omo" ; | => "ci" ; | | => "ama" ; => "" } ; ProunSgprefix : Gender -> Str = \g -> case of { | =>"o"; => "ria"; => "kia"; => "ya"; => "rwa"; => "ka"; => "bwa"; => "kwa"; => "a" } ; ProunPlprefix : Gender -> Str = \g -> case of { | =>"ba"; | =>"a"; | =>"chia"; =>"ya"; =>"bia"; <_> => "" } ; dfltGender : Gender = G1 ; dflt2Gender : Gender = G2 ; param VForm = VInf | VPres Gender Number Person | VPast Gender Number Person | VFut Gender Number Person -- | notpresent ; DForm = unit | teen | ten |hund ; AForm = AAdj Gender Number; }