instance DiffKam of DiffBantu = open CommonBantu, Prelude in { param GenderKam = G1 | G2 | G3 | G4 | G5 | G6 | G7| G8 | G9 |G10 ; oper Gender = GenderKam ; firstGender = G1 ; secondGender = G2 ; conjGender : Gender -> Gender -> Gender = \m,n -> case m of { G1 => n ; _ => G2 } ; ProunSgprefix : Gender -> Str = \g -> case g of { G1 | G2|G8 |G9 => "w" ; G3 | G7 => "y" ; G4 => "ky" ; G5 => "k"; G10 => "kw"; G6 => "v" } ; ProunPlprefix : Gender -> Str = \g -> case g of { G1 | G3 |G8 |G10 => "m" ; G2 => "y" ; G4 | G7 |G9 => "sy" ; G5 => "tw" ; G6 => "kw" } ; Allpredetprefix : Gender -> Str = \g -> case of { | | | => "" ; => "y" ; | | => "sy" ; => "two" ; => "kwo" } ; Mostpredetprefix : Gender -> Str = \g -> case of { => "ala a" ; => "ila m" ; | => "ala ma" ; | => "ila mb" ; => "tula twi" ; => "kula kwi" ; | => "ila mb" } ; ConsonantAdjprefix: Gender -> Number -> Str = \n,g -> case of { => "mu" ; => "a" ; => "mu" ; => "mi" ; => "i" ; => "ma" ; => "ki" ; => "" ; => "ka" ; => "tu" ; => "va" ; => "ku" ; => "" ; => "mu" ; => "ma" ; => "mu" ; => "" ; => "ku" ; => "ma" } ; VowelAdjprefix: Gender -> Number -> Str = \n,g -> case of { => "mw" ; => "a" ; => "mw" ; => "mi" ; => "y" ; => "ma" ; => "ky" ; => "sy" ; => "ka" ; => "tw" ; => "va" ; => "kw" ; => "sy" ; => "mw" ; <_,_> => "ma" } ; Adjpprefix : Gender -> Number -> Str = \n,g -> case of { => "wi" ; => "me" ; => "wi" ; => "yi" ; => "yi" ; => "me" ; => "ki" ; => "syi" ; => "ke" ; => "twi" ; => "ve" ; => "kwi" ; => "yi" ; => "syi"; <_,_> => "" } ; PrefixPlNom : Gender -> Str = \g -> case of { => "a" ; => "mi" ; => "i" ; => "tu"; => "ku" ; => [] ; => "mb" ; _ => "ma" } ; mkprefix,Ordprefix : Gender -> Str = \g -> case of { | | | => "wa" ; | => "ya" ; => "kya" ; => "ka"; => "kwa"; => "va" } ; Cardprefix : Gender -> Str = \g -> case of { | | => "a" ; | | | | => "i" ; => "tu" ; => "ku" } ; Cardoneprefix : Gender -> Str = \g -> case of { | | | => "u" ; => "ki" ; => "ku" ; => "yi" ; => "ka" ; => "va"; => "i" } ; Cardtwoprefix : Gender -> Str = \g -> case of { | | | => "e" ; | | | => "i" ; => "twi" ; => "kwi" } ; Detprefix : Gender -> Str = \g -> case of { | => "a" ; => "mi" ; | => "ma" ; | | => "" ; => "tu" ; => "ku" } ; --------------------------------------------- oper conjThan = "kuvita" ; conjThat = "kuvita" ; reflPron : Agr => Str = \\ag=> case ag of { Ag G1 Sg P1 => "nyie" ; Ag G1 Sg P2 => "we" ; Ag G1 Sg P3 => "we" ; Ag _ Sg P3 => "yo" ; Ag G1 Pl P1 => "ithyi" ; Ag G1 Pl P2 => "nyui" ; Ag G1 Pl P3 => "mo" ; Ag _ _ _ => "" }; superVery ="vyu"; 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 | AComp Gender Number ; }