instance DiffUrd of DiffHindustani = open CommonHindustani, Prelude in { flags coding = utf8 ; oper addErgative s1 s2 = s1 ++ s2 ; conjThat = "کہ" ; insertSubj : UPerson -> Str -> Str = \p,s -> case p of { Pers1 => s ++ "واں" ; _ => s ++ "ے"}; -- check with prasad for vn~ agr = "اگر" ; awr = "اور" ; ky = "کی" ; jn = "جن" ; js = "جس" ; jw = "جو" ; kw = "کو" ; mt = "مت" ; nE = "نے" ; nh = "نا" ; sE = "سے" ; waN = "واں" ; hE = "ہے" ; comma = "," ; indfArt = "" ; kwd = "خود" ; na = "نا" ; nahen = "نہیں" ; xayad = "شاید" ; kya = "کیا" ; copula : CTense -> Number -> UPerson -> Gender -> Str = \t,n,p,g -> case of { => "ہوں" ; => "ہے"; => "ہو" ; => "ہیں" ; => "ہے" ; => "ہے" ; => "ہیں" ; => "ہو" ; => "ہو" ; => "ہیں" ; => "ہیں" ; => "ہیں" ; => "تھا" ; => "تھی" ; => "تھا" ; => "تھی" ; => "تھا" ; => "تھی" ; => "تھے" ; => "تھیں" ; => "تھا" ; => "تھی" ; => "تھا" ; => "تھی" ; => "تھے" ; => "تھیں" ; => "تھے" ; => "تھیں" ; => "تھے" ; => "تھیں" ; => "تھے" ; => "تھیں" ; => "تھے" ; => "تھیں" ; => "تھے" ; => "تھیں" ; => "گا" ; => "گی" ; => "گا" ; => "گی" ; => "گے" ; => "گی" ; => "گے" ; => "گی" ; => "گا" ; => "گی" ; => "گا" ; => "گی" ; => "گے" ; => "گی" ; => "گے" ; => "گی" ; => "گے" ; => "گی" ; => "گے" ; => "گی" ; => "گے" ; => "گے" ; => "گے" ; => "گی" } ; raha : Gender -> Number -> Str = \g,n -> (regAdjective "رہا").s ! n ! g ! Dir ! Posit ; cka : Gender -> Number -> Str = \g,n -> (regAdjective "چکا").s ! n ! g ! Dir ! Posit ; hw : UPerson -> Number -> Str = \pp,n -> case of { => "ہوں"; <_,Pl> => "ہوں"; <_,_> => "ہو" }; hwa : Agr -> Str = \agr -> let n = (fromAgr agr).n; p = (fromAgr agr).p; g = (fromAgr agr).g; in case of { => "ہوا"; => "ہوی"; => "ہوے" ; => "ہوی" }; ----------------------------------------------- -- Hindustani Adjectives ----------------------------------------------- Adjective = { s: Number => Gender => Case => Degree => Str }; regAdjective : Str -> Adjective; regAdjective x = case x of { acch + ("ا"|"اں") => mkAdjective x ("بہت" ++ x) ("سب سے" ++ x) (acch + "ے") ("بہت" ++ acch + "ے") ("سب سے" ++ acch + "ے") (acch + "ے") ("بہت" ++ acch + "ے") ("سب سے" ++ acch + "ے") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی") (acch +"ے") ("بہت" ++ acch + "ے") ("سب سے" ++ acch + "ے") (acch + "ے") ("بہت" ++ acch + "ے") ("سب سے" ++ acch + "ے") (acch + "ے") ("بہت" ++ acch + "ے") ("سب سے" ++ acch + "ے") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی") (acch + "ی") ("بہت" ++ acch + "ی") ("سب سے" ++ acch + "ی"); _ => mkAdjective x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) x ("بہت" ++ x) ("سب سے" ++ x) }; }