@@ -98,7 +98,7 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
let pat = mkPat pS in
case pS of {
w + "ف" + x + "ع" + y + "ل" + z =>
case rS of {
case rS of { -- TODO: reconsider shadda, maybe handling it should be moved 100% to ParadigmsAra /IL 2019-01-01
x@? + y@? + "ّ" => mkStrong pat (mkRoot3 (x+y+y)) ; -- In principle, shadda shouldn't be in the root when dealing with strong inflection, but if someone puts one, this should fix it. /IL
_ => mkStrong pat (mkRoot3 rS) } ;
w + "ف" + x + "ع" + y =>
@@ -171,7 +171,7 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
AP : Type = {s : Species => Gender => NTable } ;
uttAP : AP -> (Gender => Str) ;
uttAP ap = \\g => ap.s ! NoHum ! g ! Sg ! Indef ! Bare ; ----IL
uttAP ap = \\g => ap.s ! NoHum ! g ! Sg ! Const ! Bare ; ----IL
CN : Type = Noun ** {np : Case => Str};
@@ -193,7 +193,7 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
} ;
uttNum : NumOrdCard -> (Gender => Str) ;
uttNum n = \\g => n.s ! g ! Def ! Bare ; ----IL
uttNum n = \\g => n.s ! g ! Const ! Bare ;
param
VForm =
@@ -219,7 +219,7 @@ oper
--macro for sound verb
--PerfAct, PerfPas, ImpfAct, ImpfPas, Imp, PPart
verb : (_,_,_,_,_,_ : Str) -> Verb =
verb : (x1,_,_,_,_,x6 : Str) -> Verb =
\katab,kutib,aktub,uktab,euktub,maktUb -> {
s = \\vf => rectifyHmz (case vf of {
VPerf Act pgn => katab + suffixPerf ! pgn ;
@@ -232,7 +232,14 @@ oper
VPPart => maktUb
})
} ;
verb' : SoundForms -> Verb = \vforms ->
let katab = vforms ! 0 ;
kutib = vforms ! 1 ;
aktub = vforms ! 2 ;
uktab = vforms ! 3 ;
euktub = vforms ! 4 ;
maktUb = vforms ! 5 ;
in verb katab kutib aktub uktab euktub maktUb ;
--affixes of sound verbs
suffixPerf : PerGenNum => Str =
@@ -316,12 +323,14 @@ oper
}
} ;
--macro for geminate verbs: same behaviour as hollow verbs, except for jussive.
-- IL -- to be tested: there are no geminate verbs in LexiconAra
--macro for geminate verbs: same behaviour as hollow verbs,
-- except for jussive and imperative. /IL
verbGeminate : DefForms -> Verb = \vforms ->
let verbHol = verbHollow vforms
in { s = table {
let verbHol = verbHollow vforms ;
patImp = patGeminateImp (vforms ! 8) (vforms ! 9)
in { s = table { -- Jussive and imperative have fatha instead of sukun
VImpf Jus v pgn => verbHol.s ! VImpf Cnj v pgn ;
VImp g n => patImp ! g ! n + suffixImpfCJ Cnj ! Per2 g n ;
x => verbHol.s ! x
}
} ;
@@ -462,7 +471,7 @@ oper
--now is used for the sound, assimilated (weak C1), and when C1 = hamza:
@@ -5,7 +5,8 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
lin
UseV = predV ;
SlashVV vv vps = vps ** predV vv ; ----IL
-- : VV -> VPSlash -> VPSlash
SlashVV vv vps = vps ** ComplVV vv vps ;
-- : V2V -> VP -> VPSlash ; -- beg (her) to go
SlashV2V v2v vp = let v2vVP = predV v2v in -- IL
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.